假設(shè)已經(jīng)打開的文件句柄為fp
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、睢陽(yáng)網(wǎng)絡(luò)推廣、小程序定制開發(fā)、睢陽(yáng)網(wǎng)絡(luò)營(yíng)銷、睢陽(yáng)企業(yè)策劃、睢陽(yáng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供睢陽(yáng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
如果是文本文件,用如下語(yǔ)句寫入換行
fprintf(fp,"\n");
如果是二進(jìn)制文件,用如下語(yǔ)句寫入換行
char ch[]="\n\r";
fwrite(ch,2,1,fp);
\n
轉(zhuǎn)義字符參考:
\a:蜂鳴,響鈴
\b:回退:向后退一格
\f:換頁(yè)
\n:換行,光標(biāo)到下行行首
\r:回車,光標(biāo)到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':單引號(hào)
\":雙引號(hào)
\?:問號(hào)
\ddd:三位八進(jìn)制
\xhh:二位十六進(jìn)制
\0:空字符(NULL),什么都不做
直接輸入"\r\n"即可。fwrite是C語(yǔ)言函數(shù),指向文件寫入一個(gè)數(shù)據(jù)塊。功能:C語(yǔ)言函數(shù),向文件寫入一個(gè)數(shù)據(jù)塊用法:size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream);注意:這個(gè)函數(shù)以二進(jìn)制形式對(duì)文件進(jìn)行操作
C語(yǔ)言寫文件是可以寫入換行的,不過需要使用通配符'\n'.
設(shè)定打開文件的指針為fp,那么向文件中寫入換行可以用如下幾種辦法:
1 通過fputc函數(shù):
fputc函數(shù)可以寫入一個(gè)字符,所以可以通過
fputc('\n', fp);
的方式寫入一個(gè)換行符。
2 通過fprintf函數(shù):
和通過打印函數(shù)printf輸出一個(gè)換行類似,可以
fprintf(fp, "\n");
3 通過fputs函數(shù):
fputs功能是寫入一行字符串并換行。這里只需要它的換行功能,所以寫入一個(gè)長(zhǎng)度為0的字符串就可以了,注意不是空串NULL。
fputs("", fp);
4 通過fwrite函數(shù):
fwrite是寫一塊數(shù)據(jù)的,用來寫一個(gè)字符理論上可行,不過是大材小用了。
char c = '\n';
fwrite(c, 1,1,fp);
以上四種方法都可以向文件寫入換行符。
"\r\n"其實(shí)是回車和換行兩個(gè)字符
"\n"是
New
line,換行。
"\r"是
Carriage
return,回車。
在Mac系統(tǒng)中的文本換行只用"\r",在Unix系統(tǒng)中只用"\n",在我們最常用的Windows系統(tǒng)中是"\r\n"。
樓主的寫法會(huì)受到程序的字符集影響。如果是MBCS字符集中,"\n"就可以進(jìn)行文本換行,"\r\n"在某些文本編輯器中會(huì)轉(zhuǎn)換成兩個(gè)換行符。
Windows自帶的記事本對(duì)于換行符的識(shí)別能力很弱,你用程序?qū)懭?\r\n"進(jìn)行換行,但直接在記事本中回車就只添加了"\n",再次打開時(shí)很容易出錯(cuò)的。
解決方法:
建議你用MFC的CString類存儲(chǔ)字符串,并在寫入時(shí)用str=_T("Test.\n");的寫法。對(duì)文本文件的寫入用CStdioFile類的WriteString函數(shù),它可以實(shí)現(xiàn)對(duì)不同字符集的回車轉(zhuǎn)換。
如果程序字符集是Unicode的話,別忘記在文本文件頭部加入BOM頭。