C:如何存储字符串

时间:2014-01-24 19:33:14

标签: c

在c中,似乎无法将字符串存储为变量,如何提示用户输入字符串,并将其保存为一个字符串?

抱歉,我对C很新,所以如果这是一个愚蠢的问题,我很抱歉。

3 个答案:

答案 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 );