如何仅使用低级I / O功能打印我附加到的文件的内容?
我得到的最接近的是打印我正在追加的文字 例如:
file1.txt = dog
file2.txt = cat
我想要file2.txt,现在打印出“catdog”。我该怎么做?
如前所述,我只能打印“狗”。我也成功地附加了文件。我知道这可能是非常简单的解决方案,但我已经摸不着头几个小时了。
我的代码
while (1) {
if ((bufchar = read(fdin1, buf, sizeof(buf))) > 0) {
bp = buf; // Pointer to next byte to write.
while (bufchar > 0) {
if ((wrchar = write(fdin2, bp, bufchar)) < 0)
perror("Write failed");
bufchar -= wrchar; // Update.
bp += wrchar;
}
}
else if (bufchar == 0) { // EOF reached.
break;
}
else
perror("Read failed");
}
答案 0 :(得分:0)
只是有些人抬头,如果你要附加到file2.txt那么它就会成为&#34; catdog&#34;而不是相反。如果你只能让狗写出来,请亲自进入文件以确保你实际上是附加而不是简单地覆盖文件。
以下是对低级文件I / O细节的一些解读。阅读用于打开和关闭文件以及原始I / O操作的前两个链接。在没有看到任何代码的情况下,很难帮助您,尽管您可能没有正确关闭文件,因此您的附加行未保存...