鱼C论坛

 找回密码
 立即注册
查看: 2129|回复: 12

输入输出流问题,诡异

[复制链接]
发表于 2014-5-18 15:10:57 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 cuibaowenown2 于 2014-5-19 18:07 编辑

捕获.PNG




我输入:123456然后回车
为毛bufin == “123456\n\n”,多了个\n吧?百思不得其解

最佳答案

查看完整内容

\n 在windows系统中等同于(\r\n ) 回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉 ============================================================================== 非windows系统无此问题!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-18 15:10:58 | 显示全部楼层
\n 在windows系统中等同于(\r\n ) 回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
==============================================================================
非windows系统无此问题!
#include <stdio.h>
#include <stdlib.h>

int 
main(int argc,char *argv[],char *envp[])
{ 
  static char bufin[BUFSIZ],bufout[BUFSIZ];
  char a,b;
  if(setvbuf(stdin,bufin,_IOFBF,BUFSIZ)!=0)
        printf("failed to set up buffer for input files\n");
  if(setvbuf(stdout,bufout,_IOFBF,BUFSIZ)!=0)
        printf("failed to set up buffer for input files\n");
  a=getchar();
  b=getchar();
  printf("\r%s\",bufin);
  fflush(stdout);
  return 0;
               }
4.png         
                              
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-18 19:19:07 | 显示全部楼层
本帖最后由 oggplay 于 2014-5-18 19:20 编辑

你这程序居然没#include <iostream>  就能编译通过?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-18 19:24:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-18 19:55:18 | 显示全部楼层
cuibaowenown2 发表于 2014-5-18 19:24
在上面,只是没截图。。。

不知道你的'\\'是啥意思,去掉就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-18 19:57:06 | 显示全部楼层
oggplay 发表于 2014-5-18 19:55
不知道你的'\\'是啥意思,去掉就好了

'\\'的意思就是输出一个\。。。为了吧内容括起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-19 18:01:58 | 显示全部楼层
大哥!建议还是把全部的代码贴出来吧!{:2_27:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-19 18:05:59 | 显示全部楼层
青玄 发表于 2014-5-19 18:01
大哥!建议还是把全部的代码贴出来吧!

换成了纯C版本,没问题了吧。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-19 22:17:32 | 显示全部楼层
oggplay 发表于 2014-5-19 21:41
\n 在windows系统中等同于(\r\n ) 回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉 ...

就算是等同于\r\n结尾为什么是\n\n而不是\r\n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-19 22:29:52 | 显示全部楼层
cuibaowenown2 发表于 2014-5-19 22:17
就算是等同于\r\n结尾为什么是\n\n而不是\r\n

你太过死板喽,把\r去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-19 22:54:34 | 显示全部楼层
oggplay 发表于 2014-5-19 22:29
你太过死板喽,把\r去掉

是我太死板?明明写着\n\n,我想真懂,不想假懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-19 23:22:16 | 显示全部楼层
oggplay 发表于 2014-5-19 22:29
你太过死板喽,把\r去掉

算了,刚才试了试ASCII和二进制的回车打印到文件,不一样,不纠结这种问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-27 14:16:49 | 显示全部楼层
多加了一个斜杠,编译成换行符了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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