字符串的读入(fgets(),)

说起字符串的读入

char str[10];

1.scanf("%s",str);  这种方法有一个不好的地方就是 遇到空格也会结束输入,

    比如输入“i love”只会输入  "i",

2.fgets( , , ),----从指定的文件中读一个字符串到字符数组中  。有三个参数 

    第一个是字符数组名,

    第二个是可以读入的最大数量,

    第三个是指定的文件:要从键盘输入时文件指针的参数为:stdin

 比如: fgets(str, sizeof(str), stdin);


注意!!!

fgets() 会把 换行符也读进来  ,比如读入"i love"  有 6 个字符

L = strlen(str);

L = 7!!!.最后 str[ L - 1 ] = '\n'.!!!


所以,在需要的时候可以删除最后的 ' \n '  str[ strlen[str] - 1 ] = ‘\0’;


另外说一点,,,

定义字符串时

char a[5],

意思是子符串有 5 个 元素,,而第五个元素   a[ 4 ] 是 ‘\0’..

所以 不能对a[ 5 ]进行操作!!!!



猜你喜欢

转载自blog.csdn.net/qq_41003528/article/details/80428474