linux - 读取文本文件的系统调用

标签 linux operating-system text-files system-calls

所以我有下面的代码,我收到了考试,这两部分真的不知道如何解决。

#define MAX_LINE 4096
char line[MAX_LINE];

fd = open("../.././test.txt". O_RDONLY);
read(fd, line, MAX_LINE);
read(fd, line, MAX_LINE);
  1. 解释给定代码可以读取的最小和最大文本行数。
  2. 更改代码以准确读取文本行。

谢谢!

最佳答案

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/

相关文章:

c - 用于嵌入式系统/电子/控制的Linux

linux - 阅读全文 Linux Bash 文件

linux - 在 linux 上编码 utf-8

mysql - nagios如何通过shell脚本监控远程主机?

C# .Net 库在 Linux 上找不到依赖项

operating-system - SMP 系统上的中断处理

linux - 独立于运行 bash 脚本的位置解析文件

linux - 编写系统调用来计算进程的上下文切换

r - 如何从文本文件中读取信息?