C++ iostream / ifsteam | C File

C++

 ifstream inFileTest(inFileName,ios::in|ios::binary);
 ofstream outFileTest(outFileName,ios::out|ios::binary);

inFileName是输入的文件地址
/usr/doucement/in.pcm
outFileName是输出的文件地址
/usr/doucement/out.pcm
其中in\ out 分别代表读取文件写入文件

读取文件
inFileTest.read((char *)inData[0], inLinesize)

第一个参数需要填入你需要读取内容到哪个缓冲区
第二个参数是读取文件的大小
如果需要知道你这一次read的操作读取了多长内容,可以使用gcount
int count = inFileTest.read((char *)inData[0], inLinesize).gcount()

写入文件
outFileTest.write((char *)outData[0], ret * outBytesPerSampel);

第一个参数需要填入你需要写入内容到哪个缓冲区
第二个参数是写多大的文件内容

C

 FILE *inFile = fopen(inFileName, "r");
 FILE *outFile = fopen(outFileName, "w");

inFileName是输入的文件地址
/usr/doucement/in.pcm
outFileName是输出的文件地址
/usr/doucement/out.pcm
其中r\ w 分别代表读取文件写入文件

读取文件
fread(*inData, sizeof(uint8_t), inLinesize, inFile)) 

第一个参数是你需要读取内容到哪个缓冲区
第二个参数是该缓冲区类型的大小
第三个参数是你需要读取多大的内容
第四个参数是该文件的句柄 FILE *inFile = fopen(inFileName, "r");

写入文件
fwrite(*outData,  outBytesPerSampel, ret, outFile);

第一个参数是你需要输出的缓冲区
第二个参数是写入多少内容到缓冲区
第三个参数是有多少个需要写入缓冲区的样本
第四个参数是该文件的句柄FILE *outFile = fopen(outFileName, "w");

写入文件也可以这么写

fwrite(*outData,  outBytesPerSampel * ret, 1, outFile);

代表一次写入outBytesPerSampel * ret这么大文件内容到缓冲区

用完记得关闭文件

fclose(inFile);
fclose(outFile);
inFileTest.close();
outFileTest.close();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容