c语言中记录文件函数 c语言关于文件操作的常用函数新手入门看

C语言文件函数

//要另外说下如fprintf(stderr, "Can't open %s\n", file_app);这是向文件或者系统设备输出的函数;但他的文件指针为stderr;这是c中的标准错误输出设备指针,系统自动分配为显示器故相当于printf("Can't open %s\n", file_app);

郊区网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

#include stdio.h

#include stdlib.h

#include string.h

#define BUFSIZE 1024

#define SLEN 81

void append(FILE *source, FILE *dest);

int main(void)

{

FILE *fa, *fs; //定义2个文件类型指针

int files = 0; // 追加文件个数

char file_app[SLEN];

char file_src[SLEN]; // 2个字符串用来储存文件名;

puts("Enter name of destination file:");//输出Enter name of destination file:

gets(file_app);//输入要追加的文件名

if ((fa = fopen(file_app, "a")) == NULL)//fa指向追加的目的文件,以追加方式打开文件,如果打开失败退出;

{

fprintf(stderr, "Can't open %s\n", file_app);

exit(2);

}

if (setvbuf(fa, NULL, _IOFBF, BUFSIZE) != 0)//创建缓冲器与流相关,大小为BUFSIZE,作用是提高IO速度;如果打开失败退出

{

fputs("Can't create output buffer\n", stderr);

exit(3);

}

puts("Enter name of first source file (empty line to quit):");//输出Enter name of first source file (empty line to quit):

while (gets(file_src) file_src[0] != '\0')//输入源文件如果是空串结束循环

{

if (strcmp(file_src, file_app) == 0)//如果源和追加文件相同

fputs("Can't append file to itself\n",stderr);

else if ((fs = fopen(file_src, "r")) == NULL)//如果打开源文件失败

fprintf(stderr, "Can't open %s\n", file_src);

else

{

if (setvbuf(fs, NULL, _IOFBF, BUFSIZE) != 0)//创建缓冲器与流相关,大小为BUFSIZE,作用是提高IO速度;如果打开失败开始下次循环

{

fputs("Can't create input buffer\n",stderr);

continue;

}

append(fs, fa);//函数

if (ferror(fs) != 0)//检查文件操作是否有错

fprintf(stderr,"Error in reading file %s.\n",

file_src);

if (ferror(fa) != 0)

fprintf(stderr,"Error in writing file %s.\n",

file_app);

fclose(fs);//关闭源文件

files++;//追加文件数+1

printf("File %s appended.\n", file_src);

puts("Next file (empty line to quit):");

}

}

printf("Done. %d files appended.\n", files);

fclose(fa);//关闭追加文件

return 0;

}

void append(FILE *source, FILE *dest)

{

size_t bytes;

static char temp[BUFSIZE];

while ((bytes = fread(temp,sizeof(char),BUFSIZE,source)) 0)//把源文件的内容追加到追加文件,块大小sizeof(char),块数为BUFSIZE

fwrite(temp, sizeof (char), bytes, dest);//写文件块大小sizeof(char),块数为BUFSIZE

}

C语言文件操作函数如何对文件内容进行操作

#include iostream

#include fstream

using namespace std;

void main()

{

ifstream fin("c:\\qq.txt");

char name[2][10];

char age[2][10];

char leibie[2][20];

int i=0;

while (!fin.eof())

{

fin.getline(name[i],10,' ');

fin.getline(age[i],10,' ');

fin.getline(leibie[i],10);

coutname[i]'\t'age[i]'\t'leibie[i]endl;

i++;

}

if (strcmp(leibie[0],"实习学生")==0)

{

strcpy(leibie[0],"正式员工");

}

ofstream fout("c:\\qq.txt");

for (i=0;i2;i++)

{

foutname[i]' 'age[i]' 'leibie[i]endl;

}

}

c语言中进行文件读写的函数是?

标准函数是:fopen、fread、fwrite、fclose等函数;

当然fprintf和fscanf函数也可以进行文件的读写;

有问题,请追问;

C语言中的Write函数

write()写文件函数

原形:int

write(int

handle,char

*buf,unsigned

len)

用法:write(文件句柄,缓冲区地址,缓冲区字节长度最大65534);

功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;

返回值:实际写入的字节数(不包括回车符),出错时返回-1。

头文件:io.h

下面是C语言一个将信息保存文件的函数,求给分析一下

void save(){ /*建立保存文件函数*/

int i;

FILE *fp; /*定义文件型指针*/

system("CLS");

if((fp=fopen("student.txt","wb"))==NULL){ /*打开输出文件*/

printf("不能打开文件!\n");

return; /*终止程序*/

}

for(i=0;in;i++) /*向student文件中写入信息*/ // 这是所谓的上边

if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) // 这里写文件上边有写

// fwrite() 这个函数 写文件 // 你可以百度 fwrite( ) 百科里有介绍

printf("文件写入错误\n");

fclose(fp); /*关闭文件*/

printf("\n\n\n\n\t\t\t学生信息保存成功!\n");

printf("\n\n\n\n\t\t\t按任意键返回菜单!!");

getch();

}

C语言中有关文件函数的问题 有加分

很简单

因为没有关闭文件指针fp

写完后会自动后移

不信你可以在第一次

fwrite

后关闭文件指针

再打开

再fwrite试试

此时fp指针就又指向文件开头了

所有关于文件指针操作的函数都是这样的

不是因为wb

wb

write

byte

二进制写入的意思

先操作fwrite时

是写入内存的

fclose时才写入文件的


网站标题:c语言中记录文件函数 c语言关于文件操作的常用函数新手入门看
本文网址:http://ybzwz.com/article/hhgeho.html