输入输出流问题,诡异
本帖最后由 cuibaowenown2 于 2014-5-19 18:07 编辑我输入:123456然后回车
为毛bufin == “123456\n\n”,多了个\n吧?百思不得其解
\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:20 编辑
你这程序居然没#include <iostream>就能编译通过? oggplay 发表于 2014-5-18 19:19 static/image/common/back.gif
你这程序居然没#include 就能编译通过?
在上面,只是没截图。。。 cuibaowenown2 发表于 2014-5-18 19:24 static/image/common/back.gif
在上面,只是没截图。。。
不知道你的'\\'是啥意思,去掉就好了 oggplay 发表于 2014-5-18 19:55 static/image/common/back.gif
不知道你的'\\'是啥意思,去掉就好了
'\\'的意思就是输出一个\。。。为了吧内容括起来 大哥!建议还是把全部的代码贴出来吧!{:2_27:} 青玄 发表于 2014-5-19 18:01 static/image/common/back.gif
大哥!建议还是把全部的代码贴出来吧!
换成了纯C版本,没问题了吧。。。 oggplay 发表于 2014-5-19 21:41 static/image/common/back.gif
\n 在windows系统中等同于(\r\n ) 回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉 ...
就算是等同于\r\n结尾为什么是\n\n而不是\r\n{:5_107:} cuibaowenown2 发表于 2014-5-19 22:17 static/image/common/back.gif
就算是等同于\r\n结尾为什么是\n\n而不是\r\n
你太过死板喽,把\r去掉 oggplay 发表于 2014-5-19 22:29 static/image/common/back.gif
你太过死板喽,把\r去掉
是我太死板?明明写着\n\n,我想真懂,不想假懂 oggplay 发表于 2014-5-19 22:29 static/image/common/back.gif
你太过死板喽,把\r去掉
算了,刚才试了试ASCII和二进制的回车打印到文件,不一样,不纠结这种问题了 多加了一个斜杠,编译成换行符了
页:
[1]