从文件读取一定数量的字节并在C中打印到控制台

时间:2014-02-11 04:10:49

标签: c byte

嘿伙计们,我一直在互联网上,似乎无法找到一个简单的答案。我想要做的是让用户输入他们想要读取的字节数(让我们称之为byteAmount)。我想打开一个文件并从所述文件中读取多个字节,然后使用printf将其打印到控制台。必须有一个简单的方法来做到这一点。提前谢谢!

2 个答案:

答案 0 :(得分:5)

参见 fread http://www.cplusplus.com/reference/cstdio/fread/

这允许您从文件流中请求n个大小为m的字节。

答案 1 :(得分:1)

调用您想要读取的字节数的函数。说read_file(byteAmount)

void read_file(int byteAmount)
{
 int count = 0;
 FILE *fp;

  fp = fopen(file_name,"r"); //assuming file_name is global/appropriate as you requirements

if( fp == NULL )
{
   perror("Error while opening the file.\n");
   exit(0);
}

printf("The contents of %s file are :\n", file_name);

while( ( ch = fgetc(fp) ) != EOF || count < byteAmount)
{
  Buffer[count++] = ch; // make Buffer global variable

  printf("%c",ch);
} 
fclose(fp);
}