C语言问题,关于换行符的显示问题

我在程序中调用fprintf(fp2,"thereare%dcharactors:\n",n);向文件fp2中写入数据。结果我用记事本查看fp2时\n显示为一个黑色方块。... 我在程序中调用 fprintf(fp2,"there are %d charactors:\n",n); 向文件fp2中写入数据。结果我用记事本查看fp2时\n显示为一个黑色方块。
怎样才能让记事本也显示为换行啊???
展开
 我来答
tczzya
2006-06-05 · TA获得超过129个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:95.7万
展开全部
\n是换行
\r是回车

“回车换行”是“回车”加“换行”。

换行好理解,但什么叫“回车”呢?它和“换行”又有什么关系?

原来,“回车换行”的概念源于早先的打字机。类似于现在打印机中有一个打印头,这个打印头平常停在打印机内的某一端。在打印一行时,则需要向外移动,打印一行结束后,打印头需要回到原来位置。由于打印头在英文中用“车”来表示,所以这个动作就称为“回车”,用金山词霸的中的解释就是:“将打印或显示位置移到同行起始位置的运动。”

所以对于打印机,假设有两行字,两行之间若光有“回车”,那么这两行字将重叠在一起(对于控制台程序的屏幕,则将回到行首)。如果光有“换行”,则第二行将不从起始位置打起,样子如下:

这是第一行

这是第二行。

只有既输出“回车”又输出“换行”,才是我们常见的换行结果。当然,对于当今的大都软件,往往都把单独的回车或换行直接解释于二者的结合。

先\r后\n就可以了,改成fprintf(fp2,"there are %d charactors:\r\n",n);
L_o_o_n_i_e
2006-06-05 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5298万
展开全部
我的记事本上没有显示符号.

记事本用老DOS定义.CRLF是回车换行.
CR -- "\r", LF -- "\n".
所以用"\r\n" 试试.
fprintf(fp2,"there are %d charactors:\r\n",n);

例如:
#include <stdio.h>
#include <stdlib.h>
FILE * fp2;
main()
{
int n = 12345;
fp2 = fopen("abc.txt","w");
fprintf(fp2,"there are %d charactors:\r\n",n);
fclose(fp2);
printf("\007Output in abc.txt");
exit(0);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霜羽
2006-06-05 · TA获得超过873个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:421万
展开全部
编码问题,我以前学C语言时就是那样,一直都以为是不可改变的事实,等待着高人ing
^_^Y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
典致E1
2006-06-05 · TA获得超过172个赞
知道答主
回答量:166
采纳率:100%
帮助的人:0
展开全部
fprintf(fp2,"there are %d charactors:\r\n",n);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式