在c中,似乎无法将字符串存储为变量,如何提示用户输入字符串,并将其保存为一个字符串?
抱歉,我对C很新,所以如果这是一个愚蠢的问题,我很抱歉。答案 0 :(得分:3)
您正在寻找类似的内容:
char line[LENGTH];
char *rp;
printf("Please enter string:");
fflush(stdout);
rp = fgets(line, sizeof line, stdin);
if (!rp) {
/* End of file or error. */
}
答案 1 :(得分:1)
使用char []
和fgets()
合并:
char data[64];
if (fgets(data, sizeof data, stdin)) {
// input has worked, do something with data
}
答案 2 :(得分:0)
字符串存储为char
的数组,因此您需要分配足够大的数组来存储字符串(字符值序列加上0终结符):
#define MAX_STRING_LEN 20
...
char response[MAX_STRING_LEN + 1]; // +1 for the 0 terminator
...
printf( "Gimme a string: " );
fflush( stdout );
fgets( response, sizeof response, stdin );
printf( "you entered: %s\n", response );