C/C++二进制读取文件总结
来源:互联网 发布:arcgis mac 编辑:程序博客网 时间:2024/06/07 09:42
[TOC]
fread 与fwrite
只看fread与fwrite用法即可
参考:
- C语言 fread()与fwrite()函数说明与示例
测试fread和fwrite读取vector数组,采用循环遍历的方式
#include <stdlib.h>#include <stdio.h>#include <vector>#include <iostream>using namespace std;//fwrite写vectorint main(){ FILE *fp; fp = fopen("vector.outfile", "wb"); if (!fp) { printf("打开%s文件失败\n", "vector.outfile"); return false; } vector<int> s; int idx = 0; for (idx = 0; idx < 1000; idx++) { s.push_back(idx); } for (idx = 0; idx < 1000; idx++) { fwrite(&s[idx], 1, sizeof(s[idx]), fp); } fclose(fp); for (idx = 0; idx < 1000; idx++) { s[idx] = 0; } fp = fopen("vector.outfile", "rb"); if (!fp) { printf("以二进制读取方式打开%s文件失败\n", "vector.outfile"); return false; } for (idx = 0; idx < 1000; idx++) { fread(&s[idx], 1, sizeof(s[idx]), fp); } for (idx = 0; idx < 1000; idx++) { std::cout << "s["<<idx<<"]=" << s[idx] << std::endl; } return 0;}
合并jpg、txt文件到一个文件
#include <stdlib.h>#include <stdio.h>#include<vector>using namespace std;int main(){ FILE * fpPhoto, *fpText, *fpTarget; //定义文件指针 int iRead; char szBuf[100]; printf("请输入第一个文件名(jpg):\n"); gets(szBuf); fpPhoto = fopen(szBuf, "rb"); //打开文件 printf("请输入第二个文件名(txt):\n"); gets(szBuf); fpText = fopen(szBuf, "rb"); printf("请输入目的文件名(jpg):\n"); gets(szBuf); fpTarget = fopen(szBuf, "wb"); if (!fpPhoto || !fpText || !fpTarget) { printf("打开文件失败!\n"); system("pause"); return -1; } //读入字节流 while ((iRead = fread(szBuf, 1, sizeof(szBuf), fpPhoto)) > 0) fwrite(szBuf, 1, iRead, fpTarget); //读入字节流,写入文件 while ((iRead = fread(szBuf, 1, sizeof(szBuf), fpText)) > 0) fwrite(szBuf, 1, iRead, fpTarget); fclose(fpPhoto); fclose(fpText); fclose(fpTarget); return 0;}
第一个文件1.jpg
第二个文件1.txt
目的文件名target.jpg
合并之后target.jpg的字节数 = 1.jpg + 1.txt
- 1.jpg
- 1.txt
helloworld
- target.jpg
获取文件的大小字节数
#include<iostream>#include <sys/stat.h>#include<stdio.h>using namespace std;int main(int argc, char *argv[]){ char *file_name = argv[1]; struct stat st; // get the file size. if (stat(file_name, &st) < 0) { perror("stat: "); return -1; } off_t file_size; file_size = st.st_size; cout << "file_size:" << file_size << endl; return 0;}
阅读全文
0 0
- C/C++二进制读取文件总结
- C 二进制读取文件
- 二进制读取文件内容[C#]
- C中二进制方式读取写入文件简单实验
- 【C语言】文件读取写入信息(二进制方式)
- C语言读取二进制文件大小
- C 语言读取二进制文件大小
- C++/C 文件二进制读写
- C++/C 文件二进制读写
- C 文件操作 二进制
- C二进制打开文件
- C语言的文件读取操作总结
- 总结下C语言中的文件读取
- 读取csv文件(C#,C++)
- C/C++ 图像二进制存储与读取
- C/C++ 图像二进制存储与读取
- ini文件读取(C#)
- c#openFileDialog读取文件
- java web项目整合例子
- idea使用过程中遇到问题解决
- maven使用遇到的问题
- 编程珠玑 Pearls(15)
- Ubuntu
- C/C++二进制读取文件总结
- 理解计算机操作系统(1)
- java程序员成功面试秘籍
- ubuntu hadoop2.6.5
- hadoop常见问题解决
- Scala 基础
- gradle 构建工具
- SpringMVC
- hadoop资料收集