我想保存这样一些数据:
                        01 02 00 00 
                        12 12 01 01 00 00
                         .
                         .
                         .
就是想换行保存整型数据,且每行数据长度不定。用CStdioFile::Writestring好像只能保存字符型的,
若把上面数据用_itoa转换成字符型,每个数据长度好像就不是1字节了。
所以,欲求良方,使得能换行且数据长度最小。我是用CFile::Write()函数把上面数据写到txt文件中的,但是不知道怎么换行。所以还请大虾指点迷津,教我换行写和读每行整型数据的方法
//bow

解决方案 »

  1.   

    文本文件中的换行在各种操作系统中好象是不一样的,在UNIX类操作系统中,
    字编辑软件在遇到\n(0xd)时,便换行。在WINDOWS操作系统中,换行是\n\r
    (0xd0xa)。所以在WINDOWS中编辑的文本文件在LINUX中看时经常会有在两行中
    有一空行。具体地看一下各种文本文件吧。(用VC以二进制形式打开)。用fprintf() 作这项工作应该是比较简单的。也可以用一些其它的字符串格式化
    函数,如sprintf(),CString::Format()。鉴于你用的是CFile对象,你可以用
    CString类来做字符串格式化。然后把字符串写入文件。
    CString s;
    s.Format("%0 2d %0 2d %0 2d....",nvar1,nvar2,nvar3.....);
    yourFile.Write(s....);这样也行,char s[足够长];
    sprintf("%0 2d %0 2d %0 2d....",nvar1,nvar2,nvar3.....);
    yourFile.Write(s,,,);%后面的0表示如果转化后的字符串不足两位,则填充0。
    空格后面的2表示生成2位字符。d表示转化为十进制整数。
    0和2之间必须有一个空格,以让程序知道这是两个参数。如果要转化为十六进制的话就把d换成X。不用这些函数,自己去做也不是很麻烦
      

  2.   

    char* nextline="\r\n";
    yourfile.Write(nextline,2*sizeof(char));