Хотите знать, как написать что-нибудь на файл через программу в приложении Win32 - PullRequest
2 голосов
/ 23 декабря 2009

Я новичок и хочу использовать концепцию обработки файлов в приложении win32 для записи чего-либо, скажем, текста в файл, который присутствует в каком-то месте на жестком диске.

Пожалуйста, ответьте

Заранее спасибо ...

Ответы [ 3 ]

2 голосов
/ 23 декабря 2009

Есть несколько способов сделать это. 1. Используйте функции fopen (), fwrite (), fclose () 2. Используйте std :: fstream

2 голосов
/ 23 декабря 2009

Вы можете сделать таким образом Предположим, что на диске «E:» есть папка «XYZ», имя файла - «abc.log», а Функция, которую вы вызываете, скажем, "WSL".

VOID __cdecl WSL(char *message);//function declaration

// Определение функции:

VOID __cdecl WSL(char *message) 
{ 
   static int lineNo = 1;  
   FILE *fp = fopen("E:\\XYZ\\abc.log","a+");  
   if(fp!= NULL)  
   {   
        fprintf(fp,"%d : %s\n",lineNo++,message);   
        fclose(fp);
   } 
}

и в главной функции вы кодируете следующее:

int main()
{
  FILE *fp = fopen("E:\\XYZ\\abc.log","w");
  WSL("Application opened");
  ........
  ........
  ........
  ........
  ........
  WSL("Application closed");
}

Это записывает два раза в файл abc.log, так как он вызывается дважды в вашей основной функции.

Первый раз напечатает ...

1. Приложение открыто

и второй раз напечатает

2. Приложение закрыто

1 голос
/ 23 декабря 2009

Используйте fstream для записи в файл, а не win32 API. Это по причинам RAII, и это также более стандартно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...