当前位置: 代码迷 >> 综合 >> fwrite 函数解析
  详细解决方案

fwrite 函数解析

热度:63   发布时间:2023-11-26 20:20:25.0

两个写入文件的方法:fwrite和ofstream,其中比较常用的是fwite

ofstream

#include <iostream>
#include <fstream>
#include <vector>using namespace std;int main() {// create the vector that will be outputtedvector < vector <int> > matrix (5, vector <int> (3, 2));vector<int> row;// open a file for outputting the matrixofstream outputfile;outputfile.open ("matrixoutput.txt");// output the matrix to the fileif (outputfile.is_open()) {for (int row = 0; row < matrix.size(); row++) {for (int column = 0; column < matrix[row].size(); column++) {if (column != matrix[row].size() - 1) {outputfile << matrix[row][column] << ", ";}else {outputfile << matrix[row][column];}}outputfile << endl; }}outputfile.close();return 0;
}

fwrite

#include <stdio.h>
struct mystruct
{int i;char cha;
};int main(void)
{FILE *stream;struct mystruct s;if ((stream = fopen("TEST.$$$", "wb")) == NULL) /* open file TEST.$$$ */{fprintf(stderr, "Cannot open output file.\n");return 1;}s.i = 0;s.cha = 'A';fwrite(&s, sizeof(s), 1, stream); /* 写的struct文件*/fclose(stream); /*关闭文件*/return 0;
}

fwrite参数解析:

  • 第一个参数
    • 要写入元素的指针
  • 第二个参数
    • 要写入内容的单字节数
  • 第三个参数
    • 要进行写入size字节的数据项的个数;
  • 第四个参数
    • stream:目标文件指针;

fopen函数的参数解析

  • 第一个参数
    • 文件的地址
  • 第二个参数
    • 打开文件的方法
    • 这个参数很重要,不同的方式打开,得到的数据是不一样的,当进行回调函数时,传入ab+