CreateFile倒不清楚不过fopen用 a+/a 最好原因有2:1:a+/a可以不用SeekToEnd2:SeekToEnd在多线程的情况下,可能会有问题,但a+/a不会

解决方案 »

  1.   

    try something like:void log(char* message)
    {   DWORD dwWritten;
       unsigned char NextLine[2] = {0x0D, 0x0A};   HANDLE logfile = CreateFile (   "log.txt",
                                    GENERIC_WRITE,
                                    0,
                                    NULL,
                                    OPEN_EXISTING,
                                    FILE_ATTRIBUTE_NORMAL,
                                    NULL);   SetFilePointer (logfile, 0, NULL, FILE_END);   WriteFile (logfile, message, strlen(message), &dwWritten, NULL);
       WriteFile (logfile, &NextLine, 2, &dwWritten, NULL);   CloseHandle (logfile);
    }
      

  2.   

    我做过一个文件接收的程序, 就是每次记录日志的时候反复使用fopen/fclose好像调用频率达到ms级别也没有发生问题.
      

  3.   

    的确是Rick1126所说!Fopen/fclose 可以的!我一般都用他! 很快!
    不会成为你的瓶贱!