十六进制数据写入到二进制数据文件
2013-05-13 09:06
323 查看
/**********************************************
十六进制数据写入到二进制数据文件
**********************************************/
#include <stdio.h>
int main ()
{
int buffer;
int i;
FILE * inFile;
FILE * outFile;
inFile = fopen ("test.txt","r");
outFile = fopen ("test.yuv", "w+b");
for (i = 0; i < 2851200; i++)
{
fscanf (inFile,"%x",&buffer); //假如buffer=32'h34313233
fwrite (&buffer,4,1,outFile); //则将8'h33,8'h32,8'h31,8'h34依次读入到outFile中
}
fclose (inFile);
fclose (outFile);
return 0;
}
将十六进制文件写为二进制举例如下,主要是注意数据的写入顺序
#include <stdio.h>
int main ()
{
int buffer;
int i;
FILE * inFile;
FILE * outFile;
inFile = fopen ("F:\\H264\\akiyo300_1ref.txt","r");
outFile = fopen ("testakiyo.264", "w+b");
int t0;int t1;
for (i = 0; i < 2851200*2; i++)
{
fscanf (inFile,"%x",&buffer);
t0=buffer>>8;
fwrite (&t0,1,1,outFile);
fwrite (&buffer,1,1,outFile);
}
fclose (inFile);
fclose (outFile);
return 0;
}
//如果想按8'h34,8'h31,8'h32,8'h33读入,//则可以这样编写代码
for (i = 0; i < 2851200; i++)
{
int t0,t1,t2;
fscanf (inFile,"%x",&buffer);
t0=buffer>>24;t1=buffer>>16;t2=buffer>>8;
fwrite (&t0,1,1,outFile);
fwrite (&t1,1,1,outFile);
fwrite (&t2,1,1,outFile);
fwrite (&buffer,1,1,outFile);
}
本文出自 “李海川” 博客,请务必保留此出处http://lihaichuan.blog.51cto.com/498079/1198807
十六进制数据写入到二进制数据文件
**********************************************/
#include <stdio.h>
int main ()
{
int buffer;
int i;
FILE * inFile;
FILE * outFile;
inFile = fopen ("test.txt","r");
outFile = fopen ("test.yuv", "w+b");
for (i = 0; i < 2851200; i++)
{
fscanf (inFile,"%x",&buffer); //假如buffer=32'h34313233
fwrite (&buffer,4,1,outFile); //则将8'h33,8'h32,8'h31,8'h34依次读入到outFile中
}
fclose (inFile);
fclose (outFile);
return 0;
}
将十六进制文件写为二进制举例如下,主要是注意数据的写入顺序
#include <stdio.h>
int main ()
{
int buffer;
int i;
FILE * inFile;
FILE * outFile;
inFile = fopen ("F:\\H264\\akiyo300_1ref.txt","r");
outFile = fopen ("testakiyo.264", "w+b");
int t0;int t1;
for (i = 0; i < 2851200*2; i++)
{
fscanf (inFile,"%x",&buffer);
t0=buffer>>8;
fwrite (&t0,1,1,outFile);
fwrite (&buffer,1,1,outFile);
}
fclose (inFile);
fclose (outFile);
return 0;
}
//如果想按8'h34,8'h31,8'h32,8'h33读入,//则可以这样编写代码
for (i = 0; i < 2851200; i++)
{
int t0,t1,t2;
fscanf (inFile,"%x",&buffer);
t0=buffer>>24;t1=buffer>>16;t2=buffer>>8;
fwrite (&t0,1,1,outFile);
fwrite (&t1,1,1,outFile);
fwrite (&t2,1,1,outFile);
fwrite (&buffer,1,1,outFile);
}
本文出自 “李海川” 博客,请务必保留此出处http://lihaichuan.blog.51cto.com/498079/1198807
相关文章推荐
- opencv将图像数据写入二进制(.dat)文件
- C++ 将数据写入二进制文件后,第二次打开文件修改部分数据,怎么前一次写入的数据被删除了。
- c语言实现大小端判断和二进制模式写入各种数据到文件
- 双字节十六进制字符编码的二进制文件写入
- 在Matlab中读取、写入二进制数据文件
- Lua 编程: 如何给文件写入二进制数据
- 写入文件的四种方式,三种字符数据,一种二进制数据
- ofstream文件输出流把二进制数据写入文件
- 提取汉字字库文件里面二进制数据转换为十六进制数据存到文件
- 下位机数据接收十六进制写入文件
- C#对二进制数据进行拼接平移补位,并用BinaryWriter写入文件中
- 在Matlab中读取、写入二进制数据文件
- VC2010 ADO 写入二进制数据到数据库 下载二进制数据到文件
- Qt从网络读取数据写入本地二进制文件
- 使用C++将OpenCV中Mat的数据写入二进制文件,用Matlab读出
- 可以将vector中的数据一次写入到二进制文件中吗
- 使用C++将OpenCV中Mat的数据写入二进制文件,用Matlab读出
- Flash Air ActionScript3 二进制数据写入文件
- Qt从网络读取数据写入本地二进制文件
- 调用fwrite函数向一个文件写入十六进制数据时,当写入值为0x0A时,其前面总是加上一个0x0D