小编Nat*_*ate的帖子

将setvbuf()与STDIN流一起使用

我正在编写一个小型C程序,该程序必须接受大于4096字节的输入流。

我确实在这里找到了推荐使用setvbuf()的帖子:

使fgets在Linux上发出更长的read()调用

我仍然很难把它付诸实践–这是我正在努力的部分代码:

int main(void) 
{ 
#define MAX_STRING_SIZE 7168

char input_string[MAX_STRING_SIZE];

printf( "Input: " );

setvbuf( stdin, NULL, _IONBF, 0 );

fgets( input_string, MAX_STRING_SIZE-1, stdin );

printf( "\n" );
printf( "%s", input_string );
} 
Run Code Online (Sandbox Code Playgroud)

有人成功增加了此输入缓冲区吗?

我的环境:带有build-essential软件包的Ubuntu 10.10

谢谢!

c stdin stream

4
推荐指数
1
解决办法
7428
查看次数

标签 统计

c ×1

stdin ×1

stream ×1