测试.c
int main() {
int fd = open("/test/aaa",O_RDONLY);
char * str;
int len;
str = (char*)malloc(sizeof(char));
len = read(fd,str,100);
close(fd);
printf("%s\n",str);
free(str);
str = NULL;
return 0;
}
输出是这样的:
$echo 300 > /test/aaa
$gcc test.c -o test
$./test
300
$
为什么这里有换行符输出?有没有安全的方法来骑它?还是我以错误的方式使用 read() ?谢谢!