注册 登录
编程论坛 C++教室

如何将char数组写入文件

ziwojieshao 发布于 2009-07-23 14:01, 1255 次点击
如何将char数组写入文件

int a = 10;
char b[4];
memcpy(b, &a, 4);
for(int i=0; i<4; i++)
   printf("%X",b+i);


程序大致流程见上。打印出的效果为10的十六进制00 00 00 0A
请问要如何写进.txt文件,才能在打开时看到00 00 00 0A,而不是乱码
谢谢各位啦。很急。有一点点想法都可以告诉我。实在是不会。
试过fputs,但是是乱码。
3 回复
#2
ziwojieshao2009-07-23 14:18
为什么没人回答。
自己顶
#3
ET_bug2009-07-23 15:00
我这只能写出A,前面的00 00。。写不出来
#include <fstream.h>
using namespace std;

void  main()
{
    int a=10;
    char b[4];
    memcpy(b, &a, 4);
    ofstream ofile("test.txt");
    ofile<<a<<endl;
    ofile.flags(ios::uppercase);//16进制大写输出
    ofile<<hex<<a<<endl;
}
#4
pangding2009-07-24 01:35
回复 楼主 ziwojieshao
fprintf 有没有试过?

这个其实不用数组b,你用union应该也行。
1