C++ iostream / ifsteam | C File

2023-08-20  本文已影响0人  aven_kang

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();
上一篇下一篇

猜你喜欢

热点阅读