VC++如何向file.txt文件末尾增加内容

VC++如何向file.txt文件末尾增加内容,第1张

话,

有一个笨办法,那就是将文档从头到尾读一遍,记下换行符

的个数,就是它的行数(如果换行符不是最后一个话,

需要加1)。

代码如下:

//求指定文件的行数

int line_count(char* path)

{

FILE *f=fopen(path,"r")

int count=0//行数计数器

char c

int flag//标志

for(flag=fscanf(f,"%c",&c)flag!=EOF &&flag>0flag=fscanf(f,"%c",&c))

{

if(c=='\n')count++

}

if(c!='\n')count++

fclose(f)

return count

}

对于这个问题,你可以采用逐个读取字符

空格之前的型链字符写入文件1,换行符之前的字符写入文件2,

这样自然也就将它分成了你要求的两个文档

代码如下:

//将文件path中的内容分为两部分,分别存入outFile1,outFile2,并返回文件path的行数昌租滑

int split(char* path, char* outFile1,char* outFile2)

{

FILE *r=fopen(path,"r")//输入文件

FILE *w1=fopen(outFile1,"w")//输出文件1

FILE *w2=fopen(outFile2,"w")//输出文件2

if(r==NULL || w1==NULL || w2==NULL)

{

//打开文件失败,可以添加其它错误处理

return -1

}

int eof//用于指示是否已经到达文件末尾耐腊

char c//读入的字符

bool b=true//b为true时,写入输出文件1,否则写入输出文件2

int count=0//文件行数

for(eof=fscanf(r,"%c",&c)eof!=EOF &&eof>0eof=fscanf(r,"%c",&c))

{

switch(c)

{

case ' '://碰到换行符

b=false

fprintf(w1,"\n")

break

case '\n'://碰到换行符

b=true

fprintf(w2,"\n")

count++//行数加1

break

case '\r'://该字符总与\n成对出现,忽略

break

default:

if(b==true)

fprintf(w1,"%c",c)

else

fprintf(w2,"%c",c)

break

}

}

if(c!='\n')count++//最后一个字符不是换行符,应将行数加1

fclose(w1)

fclose(w2)

fclose(r)

return count

}

调用方式为:

int lineCount=split("C:\\a.txt","C:\\a1.txt","C:\\a2.txt")

祝你好运!

C选项。

“文件指针名”必须是被说明为FILE 类型的指针变量;

“文件名”是被打开文件的文件名;

“使用文件方式”是指文件的类型和 *** 作要求。

“文件名”是字符串常量或字符串数组。

例如:

FILE *fp;

fp=("file a","r")

其意义是在当前目录颂消槐下打开文件file a,只允许进行“读” *** 作,桥友并使fp指向该文件。

又如:

FILE *fphzk

fphzk=("c:\\hzk16","rb")

其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读 *** 作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。

扩展资料:

C语言包野友含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接 *** 作,因此既能够用于开发系统程序,也可用于开发应用软件。

参考资料来源:百度百科-C语言

先以追加的方式用扰坦fopen函数打开文件,如:fp=fopen("filename","a");然后用缓磨桐格式化读写函数在文件末尾写一行游戚,如:fprintf("stdin,"%s\n",fp)。

其中stdin是标准输入文件(指键盘),%s是格式控制符(这里是字符输入),fp是刚才打开的那个文件的指针。写完文件后,记得关闭文件,用fclose(fp)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11978780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存