鱼C论坛

 找回密码
 立即注册
查看: 2721|回复: 2

c语言,59课,\n 为什么占两个字节?

[复制链接]
发表于 2018-5-9 09:22:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题在// 处
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     FILE *fp;

  6.     if ((fp = fopen("hello.txt", "w")) == NULL)
  7.     {
  8.         printf("文件打开失败了\n");
  9.         exit(EXIT_FAILURE);
  10.     }

  11.     printf("%ld\n", ftell(fp));
  12.     fputc('f', fp);
  13.     printf("%ld\n", ftell(fp));
  14.     fputs("ishc\n", fp);
  15.     printf("%ld\n", ftell(fp));  // 这里的值变成7

  16.     rewind(fp);
  17.     fputs("hello\n", fp);   //  如果去掉 \n 为5
  18.     printf("%ld\n", ftell(fp));

  19.     fclose(fp);

  20.     return 0;
  21. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-9 09:31:10 | 显示全部楼层
个人理解:
文件写入会在最后自动加入一位
你后面那个是因为后面还有数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-9 09:40:46 | 显示全部楼层
BngThea 发表于 2018-5-9 09:31
个人理解:
文件写入会在最后自动加入一位
你后面那个是因为后面还有数据

这个问题,我问的有点早,后面明白了。在win系统中\n是两个字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 11:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表