当前位置

首页 > 综合知识 > c语言怎么写文件

c语言怎么写文件

推荐人: 来源: 秒知社 阅读: 1.68W 次
1. C语言如何写入文本文件

1、首先输入下方的代码 #include int main() { //下面是写数据,将数字0~9写入到data.txt文件中 FILE *fpWrite=fopen("data.txt","w"); if(fpWrite==NULL) { return 0; } for(int i=0;i<10;i++) fprintf(fpWrite,"%d ",i); fclose(fpWrite); //下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上 int a[10]={0}; FILE *fpRead=fopen("data.txt","r"); if(fpRead==NULL) { return 0; } for(int i=0;i<10;i++) { fscanf(fpRead,"%d ",&a[i]); printf("%d ",a[i]); } getchar();//等待 return 1; } 2、面是写入到txt后的截图: 3、下面是读取文件后打印数据到控制台的截图。

c语言怎么写文件
2. 如何用C语言读写文件

c语言读写文件程序:#include "stdio.h"#include main(){FILE *fp1;//定义文件流指针,用于打开读取的文件FILE *fp2;//定义文件流指针,用于打开写操作的文件char text[1024];//定义一个字符串数组,用于存储读取的字符fp1 = fopen("d:a.txt","r");//只读方式打开文件a.txtfp2 = fopen("d:b.txt","w");//写方式打开文件a.txtwhile(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中{puts(text);//输出到屏幕fputs(text,fp2);//将内容写到fp2所指向文件中}fclose(fp1);//关闭文件a.txt,有打开就要有关闭fclose(fp2);//关闭文件b.txt}扩展资料:C语言文件读写操作总结一.非标准文件的读写 不带缓冲的1.文件的打开和关闭open()函数的作用是打开文件,其调用格式为: int open(char *filename, int access); 该函数表示按access的要求打开名为filename的文件,返回值为文件描述字,其中access有两部分内容: 基本模式和修饰符, 两者用" "("或")方式连接,修饰符可以有多个, 但基本模式只能有一个。

access的规定O_RDONLY 只读 O_APPEND 文件指针指向末尾O_WRONLY 只写O_CREAT 文件不存在时创建文件, 属性按基本模式属性O_RDWR 读写O_BINARY 打开一个二进制文件O_TEXT 打开一个文字文件open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。 close()函数的作用是关闭由open()函数打开的文件, 其调用格式为: int close(int handle); 该函数关闭文件描述字handle相连的文件。

2.读写函数 int read(int handle, void *buf, int count);read()函数从handle(文件描述字)相连的文件中, 读取count个字节放到buf所指的缓冲区中, 返回值为实际所读字节数, 返回-1表示出错。返回0 表示文件结束。

write()函数的调用格式为: int write(int handle, void *buf, int count); write()函数把count个字节从buf指向的缓冲区写入与handle相连的文件中, 返回值为实际写入的字节数。3.随机定位函数lseek()函数的调用格式为: int lseek(int handle, long offset, int fromwhere);该函数对与handle相连的文件位置指针进行定位,功能和用法与fseek()函数相同。

tell()函数的调用格式为: long tell(int handle); 该函数返回与handle相连的文件现生位置指针, 功能和用法与ftell()相同二、标准文件的读写1.文件的打开函数fopen()文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。

若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头。fopen(char *filename,char *type); 其中*filename是要打开文件的文件名指针,一般用双引号括起来的文件名表示,也可使用双反斜杠隔开的路径名。

而*type参数表示了对打开文件的操作方式。其可采用的操作方式如下: "r" 打开,只读; "w" 打开,文件指针指到头,只写; "a" 打开,指向文件尾,在已存在文件中追加; "rb" 打开一个二进制文件,只读; "wb" 打开一个二进制文件,只写; "ab" 打开一个二进制文件,进行追加 ;"r+" 以读/写方式打开一个已存在的文件; "w+" 以读/写方式建立一个新的文本文件 ;"a+" 以读/写方式打开一个文件文件进行追加 ;"rb+" 以读/写方式打开一个二进制文件; "wb+" 以读/写方式建立一个新的二进制文件 ;"ab+" 以读/写方式打开一个二进制文件进行追加 ;当用fopen()成功的打开一个文件时,该函数将返回一个FILE指针,如果文件打开失败,将返回一个NULL指针。

3. c语言怎么将数据写入文件

可以使用C语言中的文件操作函数,将数据写入文件。具体如下

一、打开文件。

使用fopen函数。格式为:

FILE *fopen(const char *name, const char * mode);

其中name为要写入的文件名,mode为格式字符。要写入文件,mode可以是:

1、"w" 只写方式,文本形式输入;

2、"wb" 只写方式,二进制形式输入;

3、"wb+" 读写方式,二进制形式输入;

4、"w+" 读写方式,文本形式输入;

5、"a" 追加方式,写入文件结尾,文本形式输入;

6、"ab" 追加方式,写入文件结尾,二进制形式输入;

7、"ab+" 追加方式,可读写,写入文件结尾,二进制形式输入;

8、"a+" 追加方式,可读写,写入文件结尾,文本形式输入;

二、写入数据。

可以使用各种写入函数,向文件写入。 如打开的文件指针为fp,可以使用如下函数:

1、fputc, 写入一个字符。声明为:

int fputc(int ch, FILE *fp);

2、fputs, 写入一个字符串,声明为:

char * fputs(const char *str, FILE *fp);

3、fprintf,格式化写入,功能和printf类似。 声明为:

int fprintf(FILE *fp, const char *fmt, 。);

4、fwirte, 按块写入二进制数据,声明为:

int fwirte(char *buf, int block_size, int block_number, FILE *fp);

三、写入完毕后,调用fclose关闭文件:

int fclose(FILE *fp);

4. c语言文件读写“追加”

文件使用方式 意义 “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”方式打开文件。但此时该文件必须是存在的,否则将会出错。

5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。

因此常用以下程序段打开文件:6) if((fp=fopen("c:hzk16","rb")==NULL){printf("nerror on open c:hzk16 file!");getch();exit(1);}这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c: hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续执行,因此用户可利用这个等待时间阅读出错提示。

敲键后执行exit(1)退出程序。7) 把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。

对二进制文件的读写不存在这种转换。8) 标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。

5. C语言如何写入文本文件

1、首先输入下方的代码

#include <stdio.h>

int main()

{

//下面是写数据,将数字0~9写入到data.txt文件中

FILE *fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{

return 0;

}

for(int i=0;i<10;i++)

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上

int a[10]={0};

FILE *fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{

return 0;

}

for(int i=0;i<10;i++)

{

fscanf(fpRead,"%d ",&a[i]);

printf("%d ",a[i]);

}

getchar();//等待

return 1;

}

2、面是写入到txt后的截图:

3、下面是读取文件后打印数据到控制台的截图。

6. c语言向文本写入

#includemain(){FILE *fp;char ch,st[20];if((fp=fopen("string","at+"))==NULL){printf("Cannot open file strike any key exit!");getch();exit(1);}printf("input a string:n");scanf("%s",st);fputs(st,fp);rewind(fp);ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}printf("n");fclose(fp);} 本例要求在string文件末加写字符串,因此,在程序第6行以追加读写文本文件的方式打开文件string 。

然后输入字符串, 并用fputs函数把该串写入文件string。在程序15行用rewind函数把文件内部位置指针移到文件首。

再进入循环逐个显示当前文件中的全部内容。

7. c语言头文件怎么写呀

C++/C程序的头文件以“.h”为后缀。

以下是假设名称为graphics.h的头文件:#ifndef GRAPHICS_H//作用:防止graphics.h被重复引用#define GRAPHICS_H#include<。.>//引用标准库的头文件。

#include"。"//引用非标准库的头文件。

void Function1(。);//全局函数声明。

inline();//inline函数的定义。classBox//作用:类结构声明{。

};#endif从以上例子可以看出,头文件一般由四部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)inline函数的定义;(4)函数和类结构声明等。在头文件中,用ifndef/define/endif结构产生预处理块,用#include格式来引用库的头文件。

头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。传统 C++:扩展资料:c语言头文件的作用:1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数;2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。

3、头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。4、他并不是C自带的,可以不用。

5、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。参考资料:百度百科——头文件。

8. C语言如何写头文件

/*头文件内容,假设名字是test.h*/#ifndef MYHEADFILE#define MYHEADFILEvoid InitInterpolation();void Draw_Border();void Draw_Background();void Draw_Gray();#endif/*以下是test.c的内容*/#include "test.h"/*后面就是各个函数的实现*/同项目中其他各个文件需要使用这些函数时只需要下面这样一句:#include "test.h"千万不要包含.c文件,会出现重复定义问题。

9. c语言写入文件方法

程序注意的一点,二进制和文本形式的读取区别你需要巩固,读的文件就不要以读写形式打开,养成一个好的习惯。

另外一个不太重要的一点,id确实很少作为int类型的,因为有些id会很长,比如10位20位,这样int就存不下了,而用char数组存的话只需要10个字节20个字节就能存下,对于每一位也好比较。

#include <stdio.h>

#include <stdlib.h>

typedef struct student

{

int unsigned id;

float score [3];

float rank;

}Student;

int main ()

{

Student s;

FILE * fp;

fp=fopen("C:f11.txt","r"); //尽量以可读方式打开

if (!fp)

{

printf("file cannot be opened");

exit(1);

}

//fscanf(fp,"%d %f %f %f",&s.id,&s.score[0],&s.score[1],&s.score[2]); 这一行拿到下面while语句里面

//fprintf(stdout,"%g",s.score[2]);

FILE * fw;

fw=fopen("C:f11a.txt","w"); //注意wb是以2进制形式打开文件,还有目录的格式

if (!fw)

{

printf("file cannot be opened");

exit(1);

}

while(!feof(fp))

{

fscanf(fp,"%03d%f%f%f",&s.id,&s.score[0],&s.score[1],&s.score[2]);

s.rank=(s.score[0]+s.score[1]+s.score[2])/3;

fprintf(fw,"%03dt%.1ft%.1ft%.1ft%.1fn", s.id, s.score[0], s.score[1], s.score[2], s.rank); //尤其注意fprintf和fwrite不同,fwrite是以二进制形式写文件,如果用fwrite的话将会显示乱码,fwrite和fread配套,fscanf和fprintf配套

}

fclose (fp);

fclose(fw);

return 0;

}