C语言文本文件操作

简介: C语言文本文件操作

一、打开文件fopen()


fp=fopen("123.txt","w");
char buf[]="abc.txt";
fp=fopen(buf,"w");
char *p="123.txt";
fp=fopen(p,"r");

1、打开成功,返回有效地址


2、打开失败,返回NULL


3、“w”,如果文件不存在,新建一个123.txt,如果存在,清除里面的内容


4、“r”,如果文件不存在,打开失败


5、“a”,如果文件不存在,新建,如果存在,光标移动到最后面


二、读写文件


1、按字符读写fgetc()、fputc()


2、按字符串读取文件fgets()、fputs()


3、文件结尾判断 feof(),必须先读文件再判断


//写字符
fputc('a',fp);
       char ch = 'b';
       while (ch<='w')
       {
              fputc(ch, fp);
              ch++;
       }      
       char p[] = "xyz";
       for (int i=0;i<strlen(p);i++)
       {
              fputc(p[i],fp);
       }
//写字符串
       char* p = "aiyou\n";
       fputs(p,fp);
       char a[] = "bucuo\n";
       fputs(a, fp);
//读字符
char ch;
       while (1)
       {
              ch = fgetc(fp);
              //判断是否到结尾,到结尾返回真
              if (feof(fp))
              {
                     break;
              }
              printf("ch=%c\n", ch);
       }
//读字符串
char buf[100];
       while (1)
       {
              fgets(buf, sizeof(buf), fp);
              if (feof(fp))
              {
                     break;
              }
              printf("%s", buf);
       }


三、关闭文件fclose()


fclose(fp)


四、实例


随机生成500个100以内的数字,写入到文件并读取出来


#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#define MAX 500
void writefile() {
       FILE* fp = NULL;
       errno_t err;
       err = fopen_s(&fp, "C:\\Users\\aiyou\\Desktop\\123.txt", "w");
       if (err != 0)
       {
              printf("文件打开失败!");
              return;
       }
       //设置随机数种子
       srand((unsigned int)time(NULL));
       int i = 0;
       int num;
       char buf[100];
       for (i=0;i<MAX;i++)
       {
              num = rand() % 100;
              //格式化字符串
              sprintf_s(buf,100,"%d\n",num);
              fputs(buf, fp);
       }
       //关闭文件
       fclose(fp);
       fp = NULL;
}
void readfile()
{
       FILE* fp = NULL;
       errno_t err;
       err = fopen_s(&fp, "C:\\Users\\aiyou\\Desktop\\123.txt", "r");
       if (err != 0)
       {
              printf("文件打开失败!");
              return;
       }
       int a[1024];
       int i = 0;
       char buf[100];
       int num;
       while (1)
       {
              //读取一行内容,放在buf中,包含\n
              fgets(buf, sizeof(buf), fp);
              if (feof(fp))
              {
                     break;
              }
              sscanf_s(buf, "%d\n", &num);
              a[i] = num;
              i++;
       }
       int n = i;
       printf("n=%d\n", n);
       for (i=0;i<n;i++)
       {
              printf("%d, ",a[i]);
       }
       printf("\n");
}
int main() {
       //writefile();
       readfile();
       system("pause");
       return 0;
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png

目录
相关文章
|
1月前
|
存储 小程序 C语言
【C语言程序设计——文件】文件操作(头歌实践教学平台习题)【合集】
本文介绍了C语言中的文件操作,分为两个关卡。第1关任务是将键盘输入的字符(以#结束)存入`file1.txt`并显示输出;第2关任务是从键盘输入若干行文本(每行不超过80个字符,用-1作为结束标志),写入`file2.txt`后再读取并显示。文中详细讲解了文件的打开、读取(使用`fgetc()`和`fgets()`)、写入(使用`fputc()`和`fputs()`)及关闭操作,并提供了示例代码和测试说明。
60 5
|
2月前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
77 9
|
2月前
|
存储 数据管理 C语言
C 语言中的文件操作:数据持久化的关键桥梁
C语言中的文件操作是实现数据持久化的重要手段,通过 fopen、fclose、fread、fwrite 等函数,可以实现对文件的创建、读写和关闭,构建程序与外部数据存储之间的桥梁。
|
3月前
|
算法 C语言
C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项
本文深入讲解了C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项,通过实例演示了文件操作的基本流程,帮助读者掌握这一重要技能,提升程序开发能力。
248 3
|
3月前
|
存储 C语言
【c语言】玩转文件操作
本文介绍了C语言中文件操作的基础知识,包括文件的打开和关闭、文件的顺序读写、文件的随机读写以及文件读取结束的判定。详细讲解了`fopen`、`fclose`、`fseek`、`ftell`、`rewind`等函数的使用方法,并通过示例代码展示了如何进行文件的读写操作。最后,还介绍了如何判断文件读取结束的原因,帮助读者更好地理解和应用文件操作技术。
98 2
|
5月前
|
C语言
C语言——文件操作
本文介绍了文件的基本操作,包括文件的打开、关闭、读取和写入。使用`fopen`函数以不同模式(如“r”、“w”等)打开文件,并通过`fclose`关闭。文章详细解释了如何利用`fputc`、`fputs`及`fprintf`进行格式化写入,同时介绍了`fgetc`、`fgets`和`fscanf`用于文件内容的读取。此外,还涵盖了二进制文件的读写方法以及如何通过`fseek`、`ftell`和`rewind`实现文件的随机访问。
73 1
C语言——文件操作
|
4月前
|
存储 C语言
C语言文件操作(2)
【10月更文挑战第2天】
37 6
|
4月前
|
程序员 编译器 C语言
C语言底层知识------文件操作
本文详细介绍了文件操作的基本概念,包括文件的分类(程序文件和数据文件,其中着重于数据文件的文本文件和二进制文件),流的概念及其在C程序中的应用,以及标准输入输出流stdin、stdout和stderr的作用。作者通过示例展示了如何使用fopen、fclose和常见的读写函数如fgetc、fputc和fgets进行文件操作。
49 2
|
4月前
|
存储 缓存 编译器
文件操作——C语言
文件操作——C语言
|
4月前
|
存储 C语言
简述C语言文件操作
简述C语言文件操作
23 0