使用fread读入int缓冲区

zen*_*gal 1 c c++ buffer fread

我想知道我是否可以使用fread将数据读入整数缓冲区.我看到fread()将void*作为第一个参数.所以我不能只传递一个整数缓冲区(类型转换为void*)然后使用它来读取我想要的文件中的howmuchevery字节,只要缓冲区足够大?

即.我无法做到:

  int buffer[10];
  fread((void *)buffer, sizeof(int), 10, somefile);
  // print contents of buffer
  for(int i = 0; i < 10; i++)
  cout << buffer[i] << endl;
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

谢谢

cni*_*tar 7

如果您使用类似fwrite("二进制"写入)之类的内容将文件写入文件,这应该有效.如果文件是人类可读的(您可以使用文本编辑器打开它并查看有意义的数字),您可能需要fscanf/ cin.