Linux下c语言文本方式文件读取

接着昨天的博客,今天来简单说下文本方式的读取。
fopen函数其实没有什么区别,但是在Windows系统下有点区别。
首先我们还是先打开一个文件

 FILE *fp;
fp=0;
if((fp=fopen("/home/user/Blog/file2.txt","w"))==0)
    {
          printf("文件打开失败!\n");
          return -1;
    }

接下来就接收下文本方式的两个函数
fgets,fprintf他们都可以以行的方式读写文本文件,但不能读写二进制文件,昨天讲的fread,fwrite文本文件,二进制文件都是可以读写的。我们在linux用man就可以查到fgets与fprintf的参数及其介绍。
在这里插入图片描述
在这里插入图片描述
fprints有三个参数:
stream 文件流,就是你要写入的文件,第二个就是格式,就如同printf里%s这些,还有第三个参数,就是你要写入文件的内容
fgets也是三个参数:
char s代表读入内容所存放的地方,
int size 每次读取的大小
FILE
stream还是文件流,要读的源文件。
接下里具体运用就会比较清楚了。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
        FILE *fp;
        fp=0;
        if((fp=fopen("/home/user/Blog/file2.txt","w"))==0)

        {
                printf("文件打开失败!\n");
                return -1;
        }
        char *strBuf=(char*)malloc(40);
        strcpy(strBuf,"武汉加油,中国加油");
        fprintf(fp,"%s",strBuf);
        fclose(fp);
        delete(strBuf);
        strBuf=0;
}
~

再目录打开写入的文件你就能看见内容了。
接下来我们就把他们读出来。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
        FILE *fp;
        fp=0;
        //记得这里要换模式,改成只读
        if((fp=fopen("/home/user/Blog/file2.txt","r"))==0)
        {
                printf("文件打开失败!\n");
                return -1;
        }
        char strBuf[201];
        memset(strBuf,0,sizeof(strBuf));
        while(1)
        {
                if(fgets(strBuf,sizeof(strBuf),fp)==0)break;
                printf("%s\n",strBuf);
        }
        fclose(fp);
}

多多操作其实才是硬道理。

发布了4 篇原创文章 · 获赞 1 · 访问量 142

猜你喜欢

转载自blog.csdn.net/a770198892/article/details/104409784
今日推荐