【发布时间】:2019-01-24 12:12:14
【问题描述】:
我正在尝试使用 read(int fd, void *buf, size_t count); 从 STDIN 读取输入
当输入为 EOF 时,我应该如何处理?还是空字符串?目前,我遇到了分段错误
这里是sn-p的代码:
int rd;
char buf[100];
rd = read(0, buf, 99);
buf[strcspn(buffer, "\n")] = 0;
谢谢
【问题讨论】:
-
您的代码假定字符串包含可能不正确的
\n位。查看read的手册页。它告诉你它读取了多少字节。
标签: c operating-system segmentation-fault system