c语言怎么将数据写入文件
利用VC软件通过代码书写就可以将数据写入文件。
首先打开VC++6.0。
选择文件,新建。
选择C++ source file 新建一个空白文档。
写上主函数
void main
主要代码
FILE *infile,*outfile,*otherfile;
char input;
char inputs[10];
int i=0;
infile = fopen("d:\\infile.txt","r+");//用fopen函数打开文件
outfile = fopen("d:\\outfile.txt","a+");//用fopen函数打开文件
if ( !infile )
printf("open infile failed....\n");
if ( !outfile)
printf("open outfile failed...\n");
printf("*********************************************\n");
printf("** This program is to show file operation! **\n");
printf("** The input file is: **\n");
printf("** d:\\infile.txt **\n");
printf("** The contents in this file is: **\n");
printf("\n");
for(;;)
{
input = fgetc(infile);//死循环读出文件内容
printf("%c",input);
putc(input,outfile);//写入内容
i++;
if(input == '\n' || input == EOF)
break;
}
fclose(infile);
fclose(outfile);
scanf("%d",i)
运行结果
一、打开文件。
使用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);
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)函数同步。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int x=1234;
fp=fopen("d:\\test.txt","w");
if(fp==NULL)
{
printf("create file failed\n");
return -1;
}
fprintf(fp,"%d",x);
fclose(fp);
return 0;
}
有不懂的地方请留言
我是大一的要交一个联系人管理系统,你可以帮我写下吗?
如果有啥问题我可以帮忙的,兄弟可以给你提点参考意见,给你写可能我没那么多时间。实在不好意思哈