我如何在c中插入一个字符串数组

时间:2014-10-19 05:56:58

标签: c arrays string scanf

所以基本上我有这样的事情:

char string[256]; 
printf("Insert text:");

我希望将(scanf)文本读入数组,我将如何实现这一目标。

3 个答案:

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

只需使用

即可完成
  1. scanf()或
  2. gets()
  3. 功能

    请参阅以下程序,该程序使用scanf()读取两个字符串

    http://www.csnotes32.com/2014/08/c-function-to-compare-two-strings.html