c++ - fwrite 在大数据上失败

标签 c++ fwrite

嘿,尝试在代码中编译图像并再次将其作为 jpg 输出,但 fwrite 返回 0 并且 img.jpg 保持为空:(

#include <stdio.h>
#include <string>
#include <iostream>

size_t count = 76830;//=length of data

const uint8_t data[] = {0xff,0xd8,0xff,0xe0,0x0,0x10,0x4a,0x46,0x49,0x46.....
0x0,0x7f,0xff,0xd9};

using namespace std;
//use this to saveToFile...
void saveToFile(const char * filename) {
  FILE * file = fopen(filename, "rb");
  if (file == NULL) {
    std::cout << "error opening file" << std::endl;
    return;
  }


  cout << endl << fwrite(data, sizeof(uint8_t), sizeof(data), file); //this line returns 0!!!
  fclose(file);
}

int main () {
  saveToFile("img.jpg");
}

最佳答案

fopen(filename, "rb");

这将打开文件进行读取,而不是写入。你要

fopen(filename, "wb");
//               ^

关于c++ - fwrite 在大数据上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18468912/

相关文章:

c++ - 用户输入作为开始时间

c - 在 C 中使用 fwrite() 的 fseek() 之后,fread() 不工作

字符串的 C++ fwrite 和 fread

c++ - 如何正确破坏包含指针类的结构的 QVector?

c++ - 为什么模板参数替换的顺序很重要?

c - 如何从堆内存数组 INSIDE STRUCT 写入?

c - 如何在结构中 fwrite() 两种不同类型的变量?

c - 如何使用 write/fread 向结构数组写入/读取数据?

c++ - 为日期查找维度表填充加载文件的最佳方法是什么?

c++ - 下面贴出的图代码的DFS遍历能有什么改进吗?