2012-09-22 11 views
-1

Я написал код для создания файла в C++ он компилируется без ошибок, но он не создает никаких файлов. Может ли кто-нибудь сказать мне, что не так? благодаряWinAPI createFile function 2

#include <iostream> 
#include <windows.h> 
#include <string> 
using namespace std; 

    int main() 
    { 
     HANDLE hfile; 
     char data[] = "some text to write into file";  

     hfile = CreateFile(
       L"c:\name.txt",    
       GENERIC_WRITE, 
       0, 
       NULL, 
       CREATE_NEW, 
       FILE_ATTRIBUTE_NORMAL, 
       NULL); 

     /* 
     if (hFile == INVALID_HANDLE_VALUE) 
     { 
      cout << "Unable to create file \n"; 

     } 
     */ 
    return 0; 
    } 
+1

Чтобы получить расширенную информацию об ошибке, вызовите GetLastError. –

+0

Пожалуйста, скажите, что вы не собираетесь публиковать вопрос о SO для каждой ошибки, с которой вы сталкиваетесь в своем приложении. – tenfour

ответ

2

Если пытаться создать его в корень, вы можете столкнуться с вопросом разрешений, если не вошли в систему как администратор. Попробуйте создать его в подкаталоге.

+0

Я администратор :) Я также попытался это hfile = CreateFile ( \t L "C: \ Users \ Вардана \ Desktop \ name.txt", \t \t \t \t \t GENERIC_WRITE, \t 0, \t \t NULL, то \t CREATE_NEW, \t FILE_ATTRIBUTE_NORMAL, \t \t NULL); , но он не создал никакого файла – asdf

+0

Будучи администратором и исполняющим исполняемым администратором AS, это две разные вещи. Но мой другой ответ больше подходит к точке - квадрат, а затем попробуйте его в подкаталоге, и вы должны получить некоторую радость. (Один из способов убедиться, что вы работаете как администратор, - это щелчок правой кнопкой мыши по файлу в проводнике, а затем «запуск от имени администратора»). –

4

Кроме того, в C++ вам нужно, чтобы избежать обратной косой черты, т.е.

"C:\\mydirectory\\"... 
Смежные вопросы