2014-01-24 43 views
0

在c中,似乎没有办法将字符串存储为变量,如何提示用户输入字符串并将其保存为一个字符?道歉,我对C很陌生,所以如果这是一个愚蠢的问题,我很抱歉。C:如何存储字符串

+4

如果你知道这是一个微不足道的问题,为什么不做一些研究? – this

+0

你正在使用什么教程? – StoryTeller

+2

这很简单就是在C书第一两章内涵盖的大部分书籍 –

回答

1

使用char []fgets()组合:

char data[64]; 
if (fgets(data, sizeof data, stdin)) { 
    // input has worked, do something with data 
} 
+0

这不适用于存储响应提示输入的字符串。 –

+0

@JohnBode更新。谢谢。 – herohuyongtao

+0

你能否解释* – Domi

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. */ 
} 
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);