c语言的文件读写操作

合集下载

C语言实现读写二进制文件

C语言实现读写二进制文件
PRODUCT = mysql_binary
.LIBPATTERNS: lib%.so lib%.a
vpath % .
vpath %.c src
vpath %.h include
OBJS = mysql_binary.o
$(PRODUCT): $(OBJS)
$(CXX) $(OBJS) -o $@ $(LIBS)
读:
FILE *fp = fopen("file.dat","r");
fread(plist,sizeof(Point),100,fp);
fread的返回值为实际读入的结构体Point的元素个数。
写:
FILE *fp = fopen("file.dat","w");
fwrite(plist,sizeof(Point),100,fp);
length = mysql_fetch_lengths(res_set);
for (i=0; i<mysql_num_fields(res_set); i++) {
fwrite(row[0], 1, length[0], fp);
}
}
fclose(fp);
mysql_close(conn);
free(sql);
exit(1);
}
if ((n = fread(buf, 1, *size, fp)) < 0) { //n=*size
perror("fread file" );
exit(1);
}
sql = (char *)malloc(sizeof(char)*n*2+256); //2n+1+strlen(other sql)

C语言对文件的输入输出

C语言对文件的输入输出

字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以用二进制形式存储。
内存中存储形式 00000000 00000000 00100111 00010000
ASCII形式
00110001 00110000 00110000 00110000 00110000
(1)
(0)
(0)
(0)
其实,带b和不带b只有一个区别,即对换行的处理。由于在C语言用一个′\n′即可实现换行,而在Windows系统中为
实现换行必须要用 “回车”和“换行”两个字符,即′\r′和′\n′。因此,如果使用的是文本文件并且用“w”方式打开,在向文
件输出时,遇到换行符′\n′时,系统就把它转换为′\r′和′\n′两个字符,否则在Windows系统中查看文件时,各行连成
第10章
C语言对文件的输入输出
C文件的有关基本知识
什么是文件
文件有不同的类型,在程序设计中,主要用到两种文件: (1) 程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件 的内容是程序代码。 (2) 数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘 (或其他外部设备)的数据,或在程序运行过程中供读入的数据。如一批学生的成绩数据、货物交易的数 据等。
typedef struct
{ short level;
//缓冲区“满”或“空”的程度
unsigned flags;
//文件状态标志
char fd;
//文件描述符
unsigned char hold; //如缓冲区无内容不读取字符
short bsize;

C语言第7章_文件及应用

C语言第7章_文件及应用

精选ppt课件
16
7.2.2 用于文件操作的函数
2.文件的读写函数
1)字符读写函数:
int fputc ( int ch, FILE *fp); int fgetc(FILE *fp);
2)串读写函数
int fputs(const char *str, FILE *fp); char *fgets(char *str,int length,FILE *fp);
cchh=agretachd(d);r[20];
} sitf;(ch=='e' || ch=='E' ) break;
}i;f ((fp=fopen("mail","w"))==NULL)
f{close(fp);}
printf("file open failed!!!\n");exit(精0)选; ppt课件
21
}
7.2.2 用于文件操作的函数 /* 功 能: 建立一个学生通讯录的数据库文件*/
/* 说 明: 使用块写入函数fwrite()*/
#m{ inawcinlhu(i)dlee(1【录")std。例io.7h."15】如例7.11,用块写函数来建立学生通讯
FIL{E p*rfipn;tf("姓名:"); scanf("%s",);
返回值为指向此文件的指针,以后使用。 如果打开失败,返回值为NULL。
精选ppt课件
15
7.2.2 用于文件操作的函数
1.文件的打开与关闭函数
2)关闭文件 函数fclose()关闭由fopen()函数打开的流。 fclose()函数把遗留在缓冲区的数据写入文 件,实施操作系统级的关闭操作。同时释 放与流联系的文件控制块。

C语言程序设计 第9章 文件

C语言程序设计 第9章  文件

9.3 文件的顺序读写
❖ 【例9.4】fputs函数和fgets函数的使用。
9.3 文件的顺序读写
❖ 9.3.3 fprintf函数和fscanf函数 ❖ fprintf与fscanf函数为格式读写函数,与printf、scanf类似,fprintf与
fscanf用于从文件中读取指定格式的数据和把指定格式的数据写入文件,这 是按数据格式要求进行文件的输入/输出。其一般形式为: ❖ fscanf(fp,format,args); ❖ fprintf(fp,format,args); ❖ 其中,fp为文件指针,format为格式控制字符串,args为输入或输出的地 址列表。 ❖ 例如,若文件指针fp已指向一个已打开的文件文本,a、b分别为整型变量 ,则以下语句从fp所指向的文件中读入两个整数放入变量a和b中。 ❖ fscanf(fp,”%d%d”,&a,&b); ❖ 又如,若文件指针fp已指向一个已打开的文件文本,x、y分别为整型变量 ,则以下语句将x、y中的数据按%d的格式输出到fp所指向的文件中。 ❖ fprintf(fp,"%d%d",&a,&b);
本章小结
❖ 本章主要介绍了以下内容。 ❖ (1)文件的概念 ❖ 介绍了文件及文件指针的基本概念,以及文件的打开与关闭
函数fopen、fclose等。 ❖ (2)文件的顺序读写 ❖ 主要介绍了从文件中输出字符、字符串,以及将字符、字符
串写入文件的函数。 ❖ (3)随机文件的读写及错误检测 ❖ 主要介绍了随机文件读写的应用,以及文件的出错检测。
❖ 在实际读写文件中,人们常常希望能直接读到某一数据 项而不是按物理位置顺序逐个读下来。这种可以任意指 定读写位置的操作称为文件的随机读写。可以想象,只 要能移动位置指针到所需要的地方,实现文件的定位, 就能实现随机读写。

C语言中的文件操作相关函数

C语言中的文件操作相关函数

文件的打开与关闭,读与写操作的相关函数,在对文件操作之前,必须定义一个文件指针,这样的话,才能对该文件进行操作。

c语言中的文件操作相关函数的头文件都是#include<stdio.h>FILE * fp;//可以是任何其他指针名1)open()函数函数功能:文件打开函数函数原型:fp=fopen(文件名,使用文件方式);FILE *fopen(const char *path,const char *mode); //文件名模式函数说明:如果是当前工作目录下的文件,可以不用加路径名,如果是其他目录下的则需要加路径函数参数:以mode的方式打开或创建文件函数返回值:如果成功,将返回一个文件指针,失败则返回NULL(其实就是0)函数注意:文件名和打开的方式在写的时候,必须用双引号括起来在Linux 系统中,mode 里面的’b’(二进制)可以去掉,但是为了保持与其他系统的兼容性,建议不要去掉。

ab和a+b 为追加模式,在此两种模式下,无论文件读写点定位到何处,在写数据时都将是在文件末尾添加,所以比较适合于多进程写同一个文件的情况下保证数据的完整性。

使用文件的方式如下:“r”(只读):为输入打开一个文本文件对文件进行读操作“w”(只写):为输出打开一个文本文件对文件进行写操作“a”(追加): 向文本文件尾添加数据“rb”(只读):为输入打开有一个二进制文件“wb”(只写):为输出打开一个二进制文件对文件进行写操作“ab”(追加): 向二进制文件尾添加数据“r+”(读写):为读写打开一个文本文件“w+”(读写):为读写建立一个新的文本文件“a+”(读写): 向文本文件尾添加数据“rb+”(读写):为读写打开一个二进制文件“wb+”(读写):为读写建立一个新的二进制文件“ab+”(读写): 为读写打开一个进制文件模式读写位置截断原内容创建rb Y N 文件头 N Nr+b Y Y 文件头 NNwb N Y 文件头 Y Yw+b Y Y 文件头 YYab N Y 文件尾 N Ya+b Y Y 文件尾 N Y2)fclose()函数函数功能:文件的关闭函数原型:fclose(文件指针)int fclose(FILE *stream)函数返回值:成功关闭文件返回值为0,否则返回EOF(-1);函数说明:使用完一个文件,以防止再次被误用,关闭,就是指文件指针变量不再指向该文件,防止数据丢失基于文件指针的读写函数很多,可分为数据块读写、格式化读写、单个字符读写、字符串读写3)fread()函数函数功能:数据块读,读取多个数据函数原型:size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream);fread(buffer,size,count,fp);函数说明:fread 从文件流stream 中读取nmemb 个元素,写到ptr 指向的内存中,每个元素的大小为size 个字节。

C语言文件操作命令

C语言文件操作命令

C语言文件操作函数大全clearerr(清除文件流的错误旗标)相关函数 feof表头文件 #include<stdio.h>定义函数 void clearerr(FILE * stream);函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。

返回值fclose(关闭文件)相关函数 close,fflush,fopen,setbuf表头文件 #include<stdio.h>定义函数 int fclose(FILE * stream);函数说明 fclose()用来关闭先前fopen()打开的文件。

此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。

返回值若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。

错误代码 EBADF表示参数stream非已打开的文件。

范例请参考fopen()。

fdopen(将文件描述词转为文件指针)相关函数 fopen,open,fclose表头文件 #include<stdio.h>定义函数 FILE * fdopen(int fildes,const char * mode);函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。

参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。

关于mode 字符串格式请参考fopen()。

返回值转换成功时返回指向该流的文件指针。

失败则返回NULL,并把错误代码存在errno中。

范例#include<stdio.h>main(){FILE * fp =fdopen(0,”w+”);fprintf(fp,”%s\n”,”hello!”);fclose(fp);}执行 hello!feof(检查文件流是否读到了文件尾)相关函数 fopen,fgetc,fgets,fread表头文件 #include<stdio.h>定义函数 int feof(FILE * stream);函数说明 feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。

c语言中fopen的用法

c语言中fopen的用法

c语言中fopen的用法在C语言中,fopen也是一个打开文件的函数。

在C语言的命令窗口中输入doc fopen或者help fopen就可以获得该函数的帮助信息。

下面小编就跟你们详细介绍下c语言中fopen的用法,希望对你们有用。

c语言中fopen的用法如下:fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”被打开文件的文件名,是字符串常量或字符串数组,要求是全路径;“使用文件方式”是指文件的类型和操作要求。

文件使用方式意义:“rt”只读打开一个文本文件,只允许读数据“wt”只写打开或建立一个文本文件,只允许写数据“at”追加打开一个文本文件,并在文件末尾写数据“rb”只读打开一个二进制文件,只允许读数据“wb”只写打开或建立一个二进制文件,只允许写数据“ab”追加打开一个二进制文件,并在文件末尾写数据“rt+”读写打开一个文本文件,允许读和写“wt+”读写打开或建立一个文本文件,允许读写“at+”读写打开一个文本文件,允许读,或在文件末追加数据“rb+”读写打开一个二进制文件,允许读和写“wb+”读写打开或建立一个二进制文件,允许读和写“ab+”读写打开一个二进制文件,允许读,或在文件末追加数据对于文件使用方式有以下几点说明:1) 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:r(read): 读w(write): 写a(append): 追加t(text): 文本文件,可省略不写b(banary): 二进制文件+: 读和写2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。

3) 用“w”打开的文件只能向该文件写入。

若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删除,重新创建一个新文件。

4) 若要向一个已存在的文件追加新的信息,只能用"a"方式打开文件。

C语言程序设计第10章文件及其应用

C语言程序设计第10章文件及其应用

学一学
1.定义文件指针 一般形式为: FILE * fp; 其中fp就是所定义文件指针。 FILE类型 以及所有的文件读写函数和相关常量都定 义在文件stdio.h中,在源程序的开头要 包含头文件 stdio.h 。
学一学
2.打开文件 C语言中,使用fopen函数来打开文件。打开文件是使 一个文件指针变量指向被打开文件的结构变量,以便通 过该指针变量访问打开的文件。fopen函数的调用形式 如下: fopen(chFileName,mode); 以mode 方式打开文件chFileName。其中,参数 chFileName 是将要读写文件的文件名,mode为文件 的操作方式。若文件打开成功,返回一个文件指针,若 打开失败,则返回空值NULL,NULL在stdio.h中被定 义为0。文件操作方式mode是一个整数,其取值及含 义如表10-1所示。

流程图
开始 定义文件指针fp,定义整型数组 iArray[5],定义循环变量i 以写二进制文件方式打开文件 fp=fopen("test.dat","wb") N i=0
fp==NULL Y
i<5 Y 输入1个整数存入 数组元素iArray[i]
N
i++
把数组iArray中5 个整数写入文件
显示出错信息 关闭文件 exit(0)
试一试
问题10.1编一程序从键盘输入一串字符“may friendship forever! ”,然后保存在文件myInfo.txt中。 【解题步骤】 1.定义文件指针fp; 2.定义字符数组chInfo用来存输入的字符串; 3.以写文本文件方式打开文件myInfo.txt; 4.如果打开文件失败,则输出错误信息并结束程序; 5.否则,打开文件成功,则从键盘输入数据; 5.将字符数组chInfo中的字符写入文件myInfo.txt; 6.关闭文件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在C语言中,可以使用标准库函数进行文件读写操作。

以下是一些常用的文件读写函数:
1. fopen()函数:用于打开一个文件,并返回一个文件指针。

例如:```c
FILE *fp = fopen("filename.txt", "r"); // 打开一个名为filename.txt的文件,以只读方式打开
```
2. fclose()函数:用于关闭一个文件。

例如:
```c
fclose(fp); // 关闭文件指针fp所指向的文件
```
3. fscanf()函数:用于从文件中读取格式化数据。

例如:
```c
int num = fscanf(fp, "%d", &value); // 从文件指针fp所指向的文件中读取一个整数,并存储到变量value中
```
4. fprintf()函数:用于向文件中写入格式化数据。

例如:
```c
fprintf(fp, "%d", value); // 将变量value的值写入文件指针fp所指向的文件中
```
5. fgets()函数:用于从文件中读取一行数据。

例如:
```c
char str[100];
fgets(str, 100, fp); // 从文件指针fp所指向的文件中读取一行数据,并存储到字符串str中
```
6. fputs()函数:用于向文件中写入一行数据。

例如:
```c
fputs("Hello World", fp); // 将字符串"Hello World"写入文件指针fp所指向的文件中
```
这些函数都是标准库函数,需要在程序开头包含头文件stdio.h。

在实际使用中,需要根据具体情况选择合适的函数进行文件读写操作。

相关文档
最新文档