【发布时间】:2013-06-10 20:10:07
【问题描述】:
我的程序必须有一个带有字符串的结构体,像这样
typedef struct _Node {
char file[MAX];
//other stuff...
} Node;
Node *myPointer;
所以,在其他函数中,我需要从用户那里读取一个字符串并传递给结构中的“文件”变量,如下所示:
char input[MAX];
scanf("%s", input);
(*myPointer).file = input;
问题是用户字符串的大小是可变的,它不能编译...我该怎么办?
//对不起我的英语
【问题讨论】:
-
除非你想要 C++ 解决方案,否则我建议不要使用 C++ 标签。
-
file 是指向 char 数组的指针,您无法将其更改为输入...您可以循环输入并设置文件
-
如果您不知道用户输入有多大,您应该考虑使用
fgets获取输入。 -
@sthi:
file是一个字符数组,它不是一个指针。不要迷惑人 -
@MooingDuck 在 (*myPointer).file = input 的上下文中;行它是一个指向字符数组的指针...