0
我正尝试在用户输入中读取文件名,然后尝试打开指定的文件。我得到的问题是似乎有垃圾字符添加到输入的末尾。 (我尝试printf()userInput变量时发现了这一点)。读取系统调用垃圾字符
if(read(0, userInput, 128) < 0)
write(2, "An error occurred in the read.\n", 31);
任何想法发生了什么问题? 我得到这个代码直接从codewiki 感谢
好的,这是否意味着我必须在从用户读取后手动添加空字符?我也试过strcat(userInput,“\ 0”),但仍然最终变得垃圾 – user3299369
上面的代码后,我有printf(“CHECK1%s CHECK2”,userInput); printf(“SECOND%s PART”,userInput); 检查它是否正确读取,但最终在打印字符串后(在printf语句中的%s之后)得到那些奇怪的符号 – user3299369
'strcat'只能用于C字符串。 catch-22(顺便说一句,这是没有用的)。 '输入[pos] = 0' –