fgets函数使用详解(获取文件中的每行数据)

读取文本中的每一行:

#include
#include
int main()
{
    FILE* fp = fopen("./connect.c","r");
    char data[100];
    while(fgets(data,100,fp) != NULL){
        for(int i = 0;i < strlen(data);++i){
            printf(":%d",data[i]);
        }
    }
    fclose(fp);
}
函数原型:char* fgets(char* s,int size,FILE* stream);

 fgets()  reads  in  at  most one less than size characters from stream and stores them into the buffer
       pointed to by s.  Reading stops after an EOF or a newline.  If a newline is read, it  is  stored  into
       the buffer.  A terminating null byte ('\0') is stored after the last character in the buffer.
大意就是fgets只会读取size-1个字符,并且会在末尾自动填充\0,没说的一点请注意:fgets是会读取\n换行符的。

你可能感兴趣的:(fgets函数使用详解(获取文件中的每行数据))