这里老是出现错误

解决方案 »

  1.   

    改成file.Open(_T("ts.txt"),
      

  2.   

    需要判断文件是否打开成功,  try catch 捕捉 CFileException
      

  3.   

    CString strPath = _T("");
    CFileDialog Open(TRUE, _T("*.txt"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("帐号文件 (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL);
    if (Open.DoModal() == IDOK)
    {
    strPath = Open.GetPathName();//这就是你要的路径了。
    } CStdioFile file;
    if (!file.Open(strPath, CFile::modeReadWrite))
    {
    //找开文件失败
    AfxMessageBox("帐号文件错误");
    return;
    }
      

  4.   

    #5 说的对,你那个 \Administrator 这里就有问题,应该是 \\。后面估计还有路径错误,只是挡住了看不见。
      

  5.   

    C++ Character Constants
    Character constants are one or more members of the “source character set,” the character set in which a program is written, surrounded by single quotation s ('). They are used to represent characters in the “execution character set,” the character set on the machine where the program executes.Microsoft Specific For Microsoft C++, the source and execution character sets are both ASCII.END Microsoft SpecificThere are three kinds of character constants: Normal character constants
    Multicharacter constants
    Wide-character constants 
    Note   Use wide-character constants in place of multicharacter constants to ensure portability.Character constants are specified as one or more characters enclosed in single quotation s. For example:char ch = 'x';          // Specify normal character constant.
    int mbch = 'ab';        // Specify system-dependent
                            //  multicharacter constant.
    wchar_t wcch = L'ab';   // Specify wide-character constant.Note that mbch is of type int. If it were declared as type char, the second byte would not be retained. A multicharacter constant has four meaningful characters; specifying more than four generates an error message.Syntaxcharacter-constant :'c-char-sequence'
    L'c-char-sequence'c-char-sequence :c-char
    c-char-sequence c-charc-char :any member of the source character set except the single quotation  ('), backslash (\), or newline character
    escape-sequenceescape-sequence :simple-escape-sequence
    octal-escape-sequence
    hexadecimal-escape-sequencesimple-escape-sequence : one of\' \" \? \\
    \a \b \f \n \r \t \voctal-escape-sequence :\octal-digit
    \octal-digit octal-digit
    \octal-digit octal-digit octal-digithexadecimal-escape-sequence :\xhexadecimal-digit
    hexadecimal-escape-sequence hexadecimal-digitMicrosoft C++ supports normal, multicharacter, and wide-character constants. Use wide-character constants to specify members of the extended execution character set (for example, to support an international application). Normal character constants have type char, multicharacter constants have type int, and wide-character constants have type wchar_t. (The type wchar_t is defined in the standard include files STDDEF.H, STDLIB.H, and STRING.H. The wide-character functions, however, are prototyped only in STDLIB.H.)The only difference in specification between normal and wide-character constants is that wide-character constants are preceded by the letter L. For example:char schar = 'x';               // Normal character constant
    wchar_t wchar = L'\x81\x19';    // Wide-character constantTable 1.2 shows reserved or nongraphic characters that are system dependent or not allowed within character constants. These characters should be represented with escape sequences.Table 1.2   C++ Reserved or Nongraphic CharactersCharacter ASCII 
    Representation ASCII 
    Value Escape Sequence 
    Newline NL (LF) 10 or 0x0a \n 
    Horizontal tab HT 9 \t 
    Vertical tab VT 11 or 0x0b \v 
    Backspace BS 8 \b 
    Carriage return CR 13 or 0x0d \r 
    Formfeed FF 12 or 0x0c \f 
    Alert BEL 7 \a 
    Backslash \ 92 or 0x5c \\ 
    Question  ? 63 or 0x3f \? 
    Single quotation  ' 39 or 0x27 \' 
    Double quotation  " 34 or 0x22 \" 
    Octal number ooo — \ooo 
    Hexadecimal number hhh — \xhhh 
    Null character NUL 0 \0 
    If the character following the backslash does not specify a legal escape sequence, the result is implementation defined. In Microsoft C++, the character following the backslash is taken literally, as though the escape were not present, and a level 1 warning (“unrecognized character escape sequence”) is issued.Octal escape sequences, specified in the form \ooo, consist of a backslash and one, two, or three octal characters. Hexadecimal escape sequences, specified in the form \xhhh, consist of the characters \x followed by a sequence of hexadecimal digits. Unlike octal escape constants, there is no limit on the number of hexadecimal digits in an escape sequence.Octal escape sequences are terminated by the first character that is not an octal digit, or when three characters are seen. For example:wchar_t och = L'\076a';  // Sequence terminates at a
    char    ch = '\233';     // Sequence terminates after 3 charactersSimilarly, hexadecimal escape sequences terminate at the first character that is not a hexadecimal digit. Because hexadecimal digits include the letters a through f (and A through F), make sure the escape sequence terminates at the intended digit.Because the single quotation  (') encloses character constants, use the escape sequence \' to represent enclosed single quotation s. The double quotation  (") can be represented without an escape sequence. The backslash character (\) is a line-continuation character when placed at the end of a line. If you want a backslash character to appear within a character constant, you must type two backslashes in a row (\\). (SeePhases of Translation in the Preprocessor Reference for more information about line continuation.)