fgets -- 从指定文件中读取字符串
fgets 函数文档函数概要:
fgets 函数用于从指定文件中读取字符串。
fgets 函数最多可以读取 size - 1 个字符,因为结尾处会自动添加一个字符串结束符 '\0'。当读取到换行符('\n')或文件结束符(EOF)时,表示结束读取('\n' 会被作为一个合法的字符读取)。
函数原型:
#include <stdio.h>
...
char *fgets(char *s, int size, FILE *stream);
参数解析:
参数 含义
s 字符型指针,指向用于存放读取字符串的位置
size 指定读取的字符数(包括最后自动添加的 '\0')
stream 该参数是一个 FILE 对象的指针,指定一个待操作的数据流
返回值:
1. 如果函数调用成功,返回 s 参数指向的地址。
2. 如果在读取字符的过程中遇到 EOF,则 eof 指示器被设置;如果还没读入任何字符就遇到这种 EOF,则 s 参数指向的位置保持原来的内容,函数返回 NULL。
3. 如果在读取的过程中发生错误,则 error 指示器被设置,函数返回 NULL,但 s 参数指向的内容可能被改变。
演示:
#include <stdio.h>
#define MAX 1024
int main()
{
char str;
printf("请输入一个字符串:");
fgets(str, MAX, stdin);
printf("您输入的内容是:%s", str);
return 0;
}
版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!
get it {:10_254:} 为什么我看完一脸懵。。。 stream不懂 {:10_266:} {:5_92:} {:10_266:} {:10_256:} stdin就是标准输入流,从键盘输入 {:10_258:} {:10_266:} {:10_284:} 好东西,支持 #include <stdio.h>
#define MAX 256
int main(){
char str, *p = str;
int count;
printf("Write something:");
fgets(p, MAX, stdin);
while(*p++!='\n'){
count++;
}
printf("You have written %d characters!\n", count);
return 0;
} stdin是标准输入,一般指键盘输入到缓冲区里的东西 没怎么看懂 {:5_106:} 多谢评论区的解释!!! {:10_242:}