Ошибки при работе с файлами в C в Visual Studio 2010 IDE - PullRequest
1 голос
/ 04 ноября 2011
#include "stdafx.h"
#include "stdio.h"

int main(int argc, _TCHAR* argv[])
{
   FILE *fp;
   fp = fopen("/tmp/test.txt", "w");
   fprintf(fp, "This is testing...\n");
   fclose(fp);

   return 0;
}

Я новичок в Visual Studio, но слышал, что это отличная IDE для C / C ++. Я сделал несколько базовых C, и теперь он работает очень хорошо. У меня есть проект, и я серьезно застрял на этом этапе. РАБОТА С ОТКРЫТЫМИ И ЗАКРЫВАЮЩИМИСЯ ФАЙЛАМИ В C, когда я компилирую этот код, он выдает мне ошибку

посмотреть эти изображения

http://farm7.static.flickr.com/6092/6311309820_9c06ef4f0a.jpg

http://farm7.static.flickr.com/6221/6310789365_4298e416bd.jpg

ВЫХОД ОТ ОТЛАДКИ :::

'FredEx Challenge.exe': Loaded 'C:\Users\Anunay\Documents\Visual Studio 2010\Projects\FredEx Challenge\Debug\FredEx Challenge.exe', Symbols loaded.
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\msvcr100d.dll', Symbols loaded.
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\user32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\gdi32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\lpk.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\usp10.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\imm32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\msctf.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\advapi32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\sechost.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\rpcrt4.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\ole32.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\cryptbase.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\clbcatq.dll', Cannot find or open the PDB file
'FredEx Challenge.exe': Loaded 'C:\Windows\System32\oleaut32.dll', Cannot find or open the PDB file
FredEx Challenge.exe has triggered a breakpoint

ПОМОГИТЕ МНЕ Я ВРЕМЯ В ГРАНИЦЕ КРИЗИСА

1 Ответ

1 голос
/ 04 ноября 2011

Скорее всего, программа не может создать файл /tmp/test.txt, возможно, потому что нет каталога /tmp или запись не разрешена.

В таких случаях fopen() возвращает NULL,и поскольку программа не проверяет возвращаемое значение, она вызывает ошибку (или как Windows это называет в этом году).

Убедитесь, что вы знаете, какой диск используется по умолчанию при запуске программы.Или еще лучше, удалите путь и используйте текущий рабочий каталог, указав имя файла как test.txt.

#include <errno.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
   FILE *fp = fopen ("test.txt", "wt");  // t = text mode
   if (!fp)
   {
        fprintf (stderr, "error %d creating file\n", errno);
        return 1;
   }
   fprintf (fp, "This is testing...\n");
   fclose (fp);
   return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...