代码之家  ›  专栏  ›  技术社区  ›  MP3

如何在WIN32 API中写入新行文件

  •  0
  • MP3  · 技术社区  · 13 年前

    我正在尝试将数据写入文件。然而,我想在新行中添加新数据,但现在不行了。

    HANDLE hFile;
    hFile = CreateFile(_T("HELLO.txt"),               // file to open
        GENERIC_WRITE,          // open for writing
                       0,       // share for writing
                       NULL,                  // default security
                     //  CREATE_NEW,         // existing file only
                     OPEN_ALWAYS,
                       FILE_ATTRIBUTE_NORMAL, // normal file
                       NULL);                 // no attr. template
    
    // Write to File
    BOOL bErrorFlag = FALSE;
    
    DWORD dwPtr = SetFilePointer( hFile, 0, NULL, FILE_END); //set pointer position to end file
    LPWSTR data = _T("Data '\n'");
    DWORD dwBytesToWrite = lstrlenW(data)*2;
    DWORD a = 0;
    bErrorFlag = WriteFile( 
                    hFile,           // open file handle
                    data,      // start of data to write
                    dwBytesToWrite,  // number of bytes to write
                    &dwPtr, // number of bytes that were written
                    NULL);            // no overlapped structure
    
    1 回复  |  直到 12 年前
        1
  •  4
  •   Jonathan Potter    13 年前

    Windows使用CR/LF组合来表示行尾,如果您希望换行符在例如记事本中正确显示,则需要写“\r\n”。