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之后尝试使用以下内容:
带重叠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] 举报,一经查实,本站将立刻删除。