【发布时间】:2016-04-27 06:08:24
【问题描述】:
上下文:这是一个关于考试学习指南的问题。
问题:编写一段代码,使用低级 Unix I/O 系统调用(不是 stdio 或 iostreams)执行以下操作:
o 打开一个名为“data.txt”的文件进行读取。
o 从文件中读取最多 512 个字节到名为 buf 的数组中。
o 关闭文件。
如果在任何步骤中出现错误,请打印错误消息并退出程序。 包括代码使用的任何变量的定义。
我在c 语言的Linux 环境中使用pico IDE。我知道如何使用#include <stdio.h> 轻松做到这一点,但我不知道没有它我将如何编写代码。现在我目前有:
#include <stdio.h>
int main()
{
// File var
FILE *fileVar;
char buff[512];
// Open it
fileVar = fopen("data.txt", "r");
// Check for error
if(fileVar == NULL)
{
perror("Error is: ");
}
else
{
fscanf(fileVar, "%s", buff);
printf("The file contains: %s\n", buff);
fgets(buff, 512, (FILE*)fileVar);
fclose(fileVar);
}
}
如何在不使用库#include<stdio.h> 的情况下翻译上述代码?
【问题讨论】:
-
大概是你在课堂上学到的东西?