Этот код читает правильные наборы координат x, y из txt-файла в C: \ a \ b.txt. Я знаю, что ifstream работает, потому что я использовал cout для проверки. Он не создаст для меня новый файл. Кто-то предложил использовать close(), и он создает файл один раз. Затем я попробовал снова, много раз, и он не будет создавать файл. Я ввожу: C: \ a \ c.txtУ меня есть раздражающая ошибка C++ outstream
Я не думаю, что с моим кодом что-то не так. Может ли кто-нибудь выявить проблему или предложить решение?
#include "lib.h"
#include <iostream>
#include <string>
using namespace std;
//....Point class and istream>> operator code
int main()
{
//....ifstream code
std::string filename;
cout << "Enter output filename: ";
std::getline(cin, filename);
ofstream ost(filename.c_str(), std::ofstream::out);
if (!ost.is_open()) cerr << "can't open output file: " << filename << endl;
for(int i=0; i<points.size(); ++i)
ost<<'('<<points[i].x<<','<<points[i].y<<')'<<endl;
cout <<"got here 6"<<endl;
ost.close();
keep_window_open();
return 0;
}
После кода работает МС компилятор дает это сообщение в выходном окне:
project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Program Files\AVAST Software\Avast\snxhk.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'project chap 10 ex 1.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0xacc) has exited with code 0 (0x0).
The program '[6132] project chap 10 ex 1.exe: Native' has exited with code 0 (0x0).
Это только символы отладки. Он говорит вам, что не может найти отладочные символы для системных библиотек. –
Мой вопрос: я не думаю, что с моим кодом что-то не так. Может ли кто-нибудь выявить проблему или предложить решение? – user2904033
Да, цикл 'for' выполняется, если есть проблемы с открытием файла. –