首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果fprintf写入字符串并写入字节,那么fopen的参数“w”和wb用于什么?

问如果fprintf写入字符串并写入字节,那么fopen的参数“w”和wb用于什么?
EN

Stack Overflow用户
提问于 2022-05-16 15:16:36
回答 1查看 46关注 0票数 0

我有以下代码,如果我将"W“改为"Wb”,它的工作原理是相同的,为什么?

代码语言:javascript
复制
void wrte (){
  //tpeDta roundLotSze[] = {65,66,67,68};
  tpeDta roundLotSze[] = {66,65,6767,75};
  FILE * fle = fopen(".//bse//fleNmber.dat", "w");
  fwrite(&roundLotSze,sizeof(roundLotSze),1,fle);
  fclose(fle);
}

看起来,fopen的参数不起作用。只要使用这些函数,就会改变写入数据和输出的行为。

这种行为背后的原因是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-05-16 15:23:12

区别在于换行符的读写方式。

在Linux或其他类似UNIX的系统上,"w"和"wb"没有区别。在使用"w"的Windows上,写入值为10的字节将导致写入值13和10的两个字节。

这是因为Windows上的换行符由回车(ASCII 13)和linefeed (ASCII 10)表示,而在类似UNIX的系统中,换行符只是linefeed。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72261561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档