c中的read()整数

时间:2017-11-28 23:36:57

标签: c

我在下面尝试过代码,但结果不正确。我认为缓冲区大小的东西可以用错误的方式实现。

{{1}}

1 个答案:

答案 0 :(得分:0)

阻止程序提供您期望的结果的两件事

1)使用read从标准输入(字符)读取并将其存储到(二进制)整数

2)将read的结果存储到同一个整数中,覆盖存储在1中的(错误)值

查看scanffgetsatoi ...),读取字符数组(字符串),然后转换字符读入二进制数,例如

char str[20];
fgets(str, 20, stdin);
int s = atoi(str);

read

char str[20];
ssize_t nread = read(STDIN_FILENO, str, 20);
int s = atoi(str);

请参阅what an integer is