所以基本上我有这样的事情:
char string[256];
printf("Insert text:");
我希望将(scanf)文本读入数组,我将如何实现这一目标。
答案 0 :(得分:2)
如果您想在string
变量中添加一些文字,可以使用:
1)fgets()
- > fgets(string,256,stdin);
2)scanf()
- > scanf(" %255s",string);
通过使用fgets
,可以输入包含空格的字符串。
但是,使用scanf
无法输入包含空格的字符串。
例如:
#include <stdio.h>
#include <string.h>
int main()
{
char string[256];
char *p;
printf("Insert text:");
fgets(string,256,stdin);
//Remove \n from string
if ((p=strchr(string, '\n')) != NULL)
*p = '\0';
printf("The string using fgets: %s\n",string);
printf("Insert text again:");
scanf(" %255s",string);
printf("The string using scanf: %s\n",string);
return 0;
}
<强>输出强>
Insert text:hello world
The string using fgets: hello world
Insert text again:hello world
The string using scanf: hello
答案 1 :(得分:1)
scanf("%s", string);
或更正确..
scanf("%255s", string);
%s将读取一个字符串,255将字符串长度限制为255个字符,为空字符串终止符留下至少一个空格。
答案 2 :(得分:0)
只需使用
即可完成功能
请参阅以下程序,该程序使用scanf()读取两个字符串
http://www.csnotes32.com/2014/08/c-function-to-compare-two-strings.html