cuibaowenown2 发表于 2014-5-18 15:10:57

输入输出流问题,诡异

本帖最后由 cuibaowenown2 于 2014-5-19 18:07 编辑





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

oggplay 发表于 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,bufout;
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;
               }      
                              

oggplay 发表于 2014-5-18 19:19:07

本帖最后由 oggplay 于 2014-5-18 19:20 编辑

你这程序居然没#include <iostream>就能编译通过?

cuibaowenown2 发表于 2014-5-18 19:24:39

oggplay 发表于 2014-5-18 19:19 static/image/common/back.gif
你这程序居然没#include   就能编译通过?

在上面,只是没截图。。。

oggplay 发表于 2014-5-18 19:55:18

cuibaowenown2 发表于 2014-5-18 19:24 static/image/common/back.gif
在上面,只是没截图。。。

不知道你的'\\'是啥意思,去掉就好了

cuibaowenown2 发表于 2014-5-18 19:57:06

oggplay 发表于 2014-5-18 19:55 static/image/common/back.gif
不知道你的'\\'是啥意思,去掉就好了

'\\'的意思就是输出一个\。。。为了吧内容括起来

青玄 发表于 2014-5-19 18:01:58

大哥!建议还是把全部的代码贴出来吧!{:2_27:}

cuibaowenown2 发表于 2014-5-19 18:05:59

青玄 发表于 2014-5-19 18:01 static/image/common/back.gif
大哥!建议还是把全部的代码贴出来吧!
换成了纯C版本,没问题了吧。。。

cuibaowenown2 发表于 2014-5-19 22:17:32

oggplay 发表于 2014-5-19 21:41 static/image/common/back.gif
\n 在windows系统中等同于(\r\n ) 回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉 ...

就算是等同于\r\n结尾为什么是\n\n而不是\r\n{:5_107:}

oggplay 发表于 2014-5-19 22:29:52

cuibaowenown2 发表于 2014-5-19 22:17 static/image/common/back.gif
就算是等同于\r\n结尾为什么是\n\n而不是\r\n

你太过死板喽,把\r去掉

cuibaowenown2 发表于 2014-5-19 22:54:34

oggplay 发表于 2014-5-19 22:29 static/image/common/back.gif
你太过死板喽,把\r去掉

是我太死板?明明写着\n\n,我想真懂,不想假懂

cuibaowenown2 发表于 2014-5-19 23:22:16

oggplay 发表于 2014-5-19 22:29 static/image/common/back.gif
你太过死板喽,把\r去掉

算了,刚才试了试ASCII和二进制的回车打印到文件,不一样,不纠结这种问题了

黄种人 发表于 2014-6-27 14:16:49

多加了一个斜杠,编译成换行符了
页: [1]
查看完整版本: 输入输出流问题,诡异