gpt4 book ai didi

c - 从 stdin 获取奇怪的输出读数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:33 25 4
gpt4 key购买 nike

所以我想做的是重复从键盘到标准输出的输入。它必须使用读/写

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define BUFFSIZE 1024
int main() {
char buffer[BUFFSIZE];
while (1)
if (read(0, buffer, sizeof(buffer)))
write(1, buffer, sizeof(buffer));
return 0;
}

如果我输入“hello”,它会创建一个新行,其中包含一堆奇怪的符号和字母,在另一行它会说“hello”

最佳答案

您应该保存 read() 的返回值并只写入 read() 真正读取的数量。

你的代码也太困惑了,没有多大意义,你的 while 循环应该有一个条件,并且在这样的程序中本来就有一个,

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#define BUFFSIZE 1024
int
main(void)
{
char buffer[BUFFSIZE];
ssize_t length;
while ((length = read(STDIN_FILENO, buffer, sizeof(buffer))) > 0)
write(STDOUT_FILENO, buffer, length);
return 0;
}

关于c - 从 stdin 获取奇怪的输出读数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com