我正在尝试读取用户输入的文件名,然后我尝试打开指定的文件。我得到的问题是在输入的末尾似乎添加了垃圾字符。 (我在尝试printf()userInput变量时发现了这一点)。
if(read(0, userInput, 128) < 0)
write(2, "An error occurred in the read.\n", 31);
知道出了什么问题吗? 我从codewiki得到了这个代码 感谢
答案 0 :(得分:0)
您还没有发布足够的信息来发布明确的答案,但这是我有根据的猜测:
C字符串以空值终止。如果您只读取部分字符串并且不要终止它,但尝试将其打印为C字符串,则会产生未定义的行为 - 实际上,您会看到它后面的垃圾。< / p>