微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C:使用fwrite将char写入不同的行

我必须写一个文件如下:

A B C D ...

字母表中的每个字符都需要写入文件中的不同行。 我有一个一个写下字符的程序:

FILE* fp; fp = fopen("file1","a+"); int i; char ch= 'A'; for(i=0; i<26; i++){ fwrite(&ch,sizeof(char),1,fp); ch++; } fclose(fp);

我应该如何改变上面的程序来写每个字符到一个新的行。 (我试图在每个字符后面写“ n”,但是当我使用VI编辑器或ghex工具查看文件时,我看到了额外的字符;我正在寻找一种方法,以便vi编辑器显示如上所示的文件)。

我在第一次fwrite之后尝试使用以下内容

跟踪/计算进程的cpu和IO使用率的标准方法

带重叠I / O的FILE_FLAG_NO_BUFFERING – 字节读取零

在fork()'ed过程中的IOstream

简单的I / O超时为Linux命令

防病毒和文件访问冲突:良好的编程习惯?

fwrite("n",sizeof("n"),fp);

谢谢。

Ant在回应文件时不会创buildNL

处理不完整的write()调用

来自.NET的关于文件path的奇怪行为

操作系统的文件缓冲是否有害?

Linux包含在Windows(ioctl等)

fwrite("n",fp);

应该

fwrite("n",fp);

否则,你正在写一个额外的 ,它是你的"n"字符串常量的零终止的一部分( sizeof("n")是两个,而不是一个)。

你看到了什么“额外的人物”? 你意识到fopen的"a+"参数打开文件进行追加,这样你就可以写入文件的末尾。 你可能是指"w+" ,它会覆盖文件

你可以使用:

fputc((int)ch,fp); fputc((int)'n',fp);

甚至fprintf(fp,"%cn",ch);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐