| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 370 人关注过本帖
标题:新手上路,第一个问题
只看楼主 加入收藏
mhjerry
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-3-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新手上路,第一个问题
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度是
#include <stdio.h>
void main()
{   FILE *fp=fopen("TEST",);
    fputc('A',fp);fputc('\n',fp);
    fputc('B',fp);fputc('\n',fp);
    fputc('C',fp);
    fclose(fp);}
答案是:7字节.5字节
2010-03-15 16:00
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:20 
如果参数wb,是以二进制方式打开,这种方式不会进行”回车符”和”换行符”的转换.
而如果参数为wt,是以文本方式打开,windows系统就把换行符0A转换为0D0A,因为windows是以0D0A为换行符的.

而linux是以0A为换行符的,所以无论是wt还是wb,在linux下都是5字节
2010-03-15 17:26
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 2楼 ldg628
言之有理!

★★★★★为人民服务★★★★★
2010-03-15 17:30
mhjerry
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-3-15
收藏
得分:0 
谢谢两位~
2010-03-16 14:19
mhjerry
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-3-15
收藏
得分:0 
我自己试了一下 确实如此:
二进制读入:41 0A 42 0A 43
文本读入:  41 0D 0A 42 0D 0A 43
2010-03-16 15:05
快速回复:新手上路,第一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016272 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved