作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将如何仅使用低级 I/O 函数打印我附加到的文件的内容?
我得到的最接近的是打印我用来附加的文本示例:
file1.txt = dog
file2.txt = cat
我要打印 file2.txt,现在是“catdog”。我该怎么做?
如前所述,我只能打印“dog”。我也成功地附加了文件。我知道这可能是非常简单的解决方案,但我已经挠头好几个小时了。
我的代码
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");
}
最佳答案
请注意,如果您要附加到 file2.txt,那么它将是“catdog”,而不是相反。如果您只能让狗写出来,请实际进入文件以确保您实际上是在追加文件,而不是简单地覆盖文件。
这里是一些关于低级文件 I/O 细节的读物。阅读顶部的两个链接,了解打开和关闭文件以及原始 I/O 操作。没有看到你的任何代码,很难帮助你,尽管你可能没有正确关闭文件,所以你附加的行没有保存......
关于c - 在 C 中将文件内容打印到标准输出低级 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33272461/
我是一名优秀的程序员,十分优秀!