我需要计算文件中的行数,但是,我必须在没有“简单”函数(例如:fopen
、、fscanf
...fgets
等)的情况下进行计算。
意思是我不能这样做:
int calculateLines(char *filename)
{
FILE *myFile;
char c;
int myLines = 0;
myFile = fopen(filename, "r");
if(myFile == NULL)
return 0;
while ((c = fgetc(f)) != EOF)
if(c == '\n')
myLines++;
fclose(f);
if(c != '\n')
myLines++;
return myLines;
}
为此,我只能使用系统调用read
, write
, close
, open
& fork
。
从我到目前为止所做的事情来看,我认为:
- 打开文件
open
:someResult = wrapper_open(argv[1],O_RDONLY,0);
- 逐行阅读
read
:我可以以某种方式操纵阅读以逐行阅读吗?我试图检查它的教程但是空手而归。