C语言文本文件操作

Posted 顺便编点程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言文本文件操作相关的知识,希望对你有一定的参考价值。

不想接传单了,看见老人也不想让座了,也不想为了别人考虑了,收起一切善良和心软,因为这个世界从来没有善待过我。。。

----  网易云热评

一、打开文件fopen()

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


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 500void 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;}


运行结果:



以上是关于C语言文本文件操作的主要内容,如果未能解决你的问题,请参考以下文章

在c语言中怎样打开一个文本文档

C语言打开其他目录下的文本文件

QT中怎样读取中文文本文件!

关于C语言中文本文件的逐行读取的实现

c语言编程:编写程序,实现文本文件的复制。从一个文件中逐个字符输出,将其中的小写字母转换成大写字母

delphi写多行文本文件操作