所以我有下面的代码,我收到了考试,这两部分真的不知道如何解决。
#define MAX_LINE 4096
char line[MAX_LINE];
fd = open("../.././test.txt". O_RDONLY);
read(fd, line, MAX_LINE);
read(fd, line, MAX_LINE);
- 解释给定代码可以读取的最小和最大文本行数。
- 更改代码以准确读取文本行。
谢谢!
最佳答案
Explain which is the minimum and the maximum number of text lines that could be read by the given code.
最小值为 0,或分数。如果假定行终止符单独为 \n
,则最大值可能为 2047 或 2048,如果为 \r\n
,则最大值可能为 4096/3 +/- 1,或 4096如果允许行为空和,则行终止符假定为\n
。我会说这个问题根本没有具体说明,并提示。
Change the code to read exactly on line of text.
同样,这根本没有明确说明。如果允许使用 stdio
(未说明,也不是系统调用),则有多种选择。如果不是,您将不得不编写一个循环和一个字符串连接。
关于linux - 读取文本文件的系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37805859/