我正在读取文件并将所有内容保存在名为buff
的变量中。如果我使用printf打印出buff
,它会打印出所有内容。我尝试将result
与其他字符串/字符串变量连接起来,它运行得很好。但是当我用buff
strcat / strncat result
时,它会进入一个永无止境的循环(它不会打印任何东西,程序永远不会完成)。我不明白为什么。
read(fd[0], buff, 1000);
strcat(result, buff);
我也试过这个,但没有运气
int n = read(fd[0], buff, 1000);
strncat(result, buff, n);
就这样,
read(fd[0], buff, 1000);
strncat(result, buff, sizeof(buff));
答案 0 :(得分:0)
了解有关OP的C源代码的更多信息非常重要,例如声明变量结果的位置和方式。如果声明结果的方式存在问题,那么这可能就是代码以这种奇怪的方式表现的原因。
在随后的评论中,OP解释说:
我如何宣布结果存在问题。它现在正在运作。