我想从txt文本中输入一些汉字,然后写入另一个txt文本中,请问应该怎么做?

解决方案 »

  1.   

    CStdioFile 类,
    ReadString 
    WriteString方法
    用Unicode 
    #def UNICODE就行了
      

  2.   

    我这样写了,编译通过,也产生了一个two.txt但是运行时出错,two.txt也没有任何内容
    #pragma once
    #include <afxwin.h>
    #include <windows.h>
    #include <stdio.h>
    #include <afx.h>#ifndef UNICODE
    #define UNICODE
    #endifint WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iShowCmd)
    {
    TCHAR *fName = "one.txt";
    CStdioFile infile;
    CStdioFile outfile;
    if( !(infile.Open(fName,CFile::modeRead)))
    {
    TCHAR buffer[50];
    wvsprintf(buffer,TEXT("can not open %s !"),fName);
    MessageBox(NULL, buffer , TEXT("SORRY"), MB_OKCANCEL);
    return 0;
    }
    outfile.Open(TEXT("two.txt"),CFile::modeCreate | CFile::modeWrite |CFile::typeText); LPSTR container = TEXT("HELLO");
    while(infile.ReadString(container,150))
    {
    outfile.WriteString(container);
    //outfile.WriteString(
    }
    return 0;
    }
      

  3.   

    而且运行出错时还发布错误报告,我在while 的那一段加上了try catch也是这样
      

  4.   

    LPSTR container = TEXT("HELLO"); 常量指针  访问冲突吧。
    改用new分配给container内存,另外,既然你用了TEXT(""),那么便把LPSTR换成LPTSTR吧LPTSTR container = new TCHAR[151]
      

  5.   

    记得delete. 另外要学会单步调试啊,把错误定在某一行代码,而不是这么一大块让人看。
      

  6.   


    LPSTR container = TEXT("HELLO"); ----> TCHAR container[150];
      

  7.   

    //创建文件
    CStdioFile file;
    file.Open("ts.txt",CFile::modeCreate|CFile::modeWrite);//写入文件CString str;
    str.Format("%s\r\n","hello!I am talkingmute!");
    file.Seek(0,CFile::end);
    file.WriteString( str );//关闭文件file.Close();比如:读文件的例子CString strText = “”;
    CString szLine = “”;//打开文件
    CStdioFile file;
    file.Open("ts.txt",CFile::modeRead);//逐行读取字符串
    while( file.ReadString( szLine ) )
    {
    strText += szLine;
    }MessageBox(strText);//关闭文件file.Close();另外
    你的把CFile::modeCreate  ¦ CFile::modeWrite  ¦CFile::typeText
    中的 CFile::typeText去掉试试。
      

  8.   

    谢谢,我按你们说的去做,做好了,oakfire 在五楼的那一句对我太有用了