c语言如何把数据写入文件,C语言怎么将输入的数据写入文件中和从文件中读书文件

1,C语言怎么将输入的数据写入文件中和从文件中读书文件int main(){//打开文件FILE *fpr;fpr = fopen("test.txt", "rw");//读取fread();//读取fwrite();//写入}
2 , C语言写入文件的操作用ab模式打开文件,先用fseek()、fsetpos()等函数设置读写位置,再进行读写操作 。1、c语言标准库提供了一系列文件操作函数 。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中 。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读?。籪printf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置 。一般的c语言教程都有文件操作一章 , 可以找本教材进一步学习 。2、例程:#includeint a; char b,c[100]; int main(){ file * fp1 = fopen("input.txt", "r");//打开输入文件 file * fp2 = fopen("output.txt", "w");//打开输出文件 if (fp1==null || fp2==null) {//若打开文件失败则退出 puts("不能打开文件!"); return 0; } fscanf(fp1,"%d",&a);//从输入文件读取一个整数 b=fgetc(fp1);//从输入文件读取一个字符 fgets(c,100,fp1);//从输入文件读取一行字符串 printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数 fputs(c,fp2);//向输出文件写入一行字符串 fputc(b,fp2);//向输出文件写入一个字符 fprintf(fp2,"%d",a);//向输出文件写入一个整数 fclose(fp1);//关闭输入文件 fclose(fp2);//关闭输出文件,相当于保存 return 0; }同学,“要”不是“药”,你写错了 。至于答案嘛,哥也不知道 , 哈哈哈哈哈哈哈哈哈哈哈先用fseek函数定位,然后再用fwrite写,fread读 。另外 , 如果想截短文件,可以用truncate或ftruncate函数 。
3 , c语言 如何将变量写入文件比如写入 c盘下面的test.txt文件中 。#include <stdio.h>#include <string.h>void main(void) char achBuf[256]; memset(achBuf,0,sizeof(achBuf));//清空字符串 int i = 0; sprintf(achBuf,"i = %d",i);//将整形转化为字符串 FILE* fp = fopen("c:\\test.txt","wb"); //以二进制写的方式打开文件 if( fp == NULL )printf("打开文件失败!\n");return; } //将字符串写入文件 fwrite(achBuf,1,strlen(achBuf),fp); fclose(fp);//关闭文件}原因:使用fopen时参数不正确,你是用 w参数,若文件存在则文件长度清为0,即该文件内容会消失 。每次都是重新清空并写数据, 将w修改为a即可.fopen函数说明见下方:--------------- file * fopen(const char * path,const char * mode);[编辑本段]函数说明参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态 。mode有下列几种形态字符串:r 打开只读文件 , 该文件必须存在 。r+ 打开可读写的文件,该文件必须存在 。rb+ 读写打开一个二进制文件,只允许读写数据 。rt+ 读写打开一个文本文件,允许读和写 。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失 。若文件不存在则建立该文件 。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失 。若文件不存在则建立该文件 。a 以附加的方式打开只写文件 。若文件不存在,则会建立该文件 , 如果文件存在,写入的数据会被加到文件尾 , 即文件原先的内容会被保留 。(eof符保留)a+ 以附加方式打开可读写的文件 。若文件不存在,则会建立该文件 , 如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留 。(原来的eof符不保留)wb 只写打开或新建一个二进制文件;只允许写数据 。wb+ 读写打开或建立一个二进制文件,允许读和写 。wt+ 读写打开或着建立一个文本文件;允许读写 。at+ 读写打开一个文本文件,允许读或在文本末追加数据 。ab+ 读写打开一个二进制文件,允许读或在文件末追加数据 。比如写入 c盘下面的test.txt文件中 。#include #include void main(void) { char achBuf[256]; memset(achBuf,0,sizeof(achBuf)); //清空字符串 int i = 0; sprintf(achBuf,"i = %d",i); //将整形转化为字符串 FILE* fp = fopen("c:\\test.txt","wb"); //以二进制写的方式打开文件 if( fp == NULL ) { printf("打开文件失败!\n"); return; } //将字符串写入文件 fwrite(achBuf,1,strlen(achBuf),fp); fclose(fp); //关闭文件 }【c语言如何把数据写入文件,C语言怎么将输入的数据写入文件中和从文件中读书文件】
4,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);原因:使用fopen时参数不正确,你是用 w参数,若文件存在则文件长度清为0,即该文件内容会消失 。每次都是重新清空并写数据, 将w修改为a即可.fopen函数说明见下方:--------------- file * fopen(const char * path,const char * mode);[编辑本段]函数说明参数path字符串包含欲打开的文件路径及文件名 , 参数mode字符串则代表着流形态 。mode有下列几种形态字符串:r 打开只读文件,该文件必须存在 。r+ 打开可读写的文件,该文件必须存在 。rb+ 读写打开一个二进制文件,只允许读写数据 。rt+ 读写打开一个文本文件,允许读和写 。w 打开只写文件 , 若文件存在则文件长度清为0,即该文件内容会消失 。若文件不存在则建立该文件 。w+ 打开可读写文件,若文件存在则文件长度清为零 , 即该文件内容会消失 。若文件不存在则建立该文件 。a 以附加的方式打开只写文件 。若文件不存在,则会建立该文件,如果文件存在 , 写入的数据会被加到文件尾,即文件原先的内容会被保留 。(eof符保留)a+ 以附加方式打开可读写的文件 。若文件不存在 , 则会建立该文件,如果文件存在 , 写入的数据会被加到文件尾后,即文件原先的内容会被保留 。(原来的eof符不保留)wb 只写打开或新建一个二进制文件;只允许写数据 。wb+ 读写打开或建立一个二进制文件,允许读和写 。wt+ 读写打开或着建立一个文本文件;允许读写 。at+ 读写打开一个文本文件,允许读或在文本末追加数据 。ab+ 读写打开一个二进制文件,允许读或在文件末追加数据 。写入文本文件,建议使用fopen fwrite等几个系统函数 使用方法及参数请见http://baike.baidu.com/link?url=sb96EUKtzUJX_A3AEn9iRhrZiFVPLvW7KlWrdsvJVDc-vNFJdKoeSs2O1j59J2YT有不懂的地方请留言用fwrite函数 。size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);注意:这个函数以二进制形式对文件进行操作 , 不局限于文本文件返回值:返回实际写入的数据块数目(1)buffer:是一个指针 , 对fwrite来说,是要获取数据的地址;(2)size:要写入内容的单字节数;(3)count:要进行写入size字节的数据项的个数;(4)stream:目标文件指针;(5)返回实际写入的数据项个数count 。说明:写入到文件的哪里? 这个与文件的打开模式有关 , 如果是w+,则是从file pointer指向的地址开始写 , 替换掉之后的内容 , 文件的长度可以不变,stream的位置移动count个数;如果是a+ , 则从文件的末尾开始添加,文件长度加大 。fseek对此函数有作用,但是fwrite[1]函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步 。

    推荐阅读