Visual Studio nie wyświetla w konsoli po kompilacji i uruchomieniu prog.

0

Witam.
Napotkałem problem iż gdy wklepie program poniżej, to nie pojawią się żadne dane w konsoli.
Natomiast jak uruchomię exe bezpośrednio w cmd to działa wszytko poprawnie. Proszę o pomoc

#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>

using namespace std;
void mp(string val)
{
	cout << val << "\n";
}

int main(int argc, char * argv[])
{
	string pomoc;

	std::fstream plik;
	plik.open("ta.pgm", std::ios::in | std::ios::out);

	if (plik.bad() == true)
	{
		std::cout << "plik bad\n";
	}
	if (plik.good() == true)
	{
		std::cout << "plik good\n";
	}
	if (plik.is_open() == true)
	{
		std::cout << "plik is_open\n";
	}
	getline(plik, pomoc);
	mp(pomoc);
	plik >> pomoc;
	mp(pomoc);
	plik >> pomoc;
	mp(pomoc);
	plik >> pomoc;
	mp(pomoc);
	plik >> pomoc;
	mp(pomoc);
	plik.clear();
	plik.close();


	system("pause");
	return 0;
}
0

Nie napisałeś konkretnie, co jest, czego się spodziewasz, czego Ci brakuje...

0

fstream.good() sprawdza więcej flag niż fstream.bad() dlatego oba mogą jednocześnie być false.
Zobacz jeszcze fstream.fail().

	std::fstream plik;
	plik.exceptions(std::fstream::failbit | std::fstream::badbit);
	try {
		plik.open("ta.pgm", std::ios::in | std::ios::out);
	}
	catch (std::fstream::failure& e) {
		char errmsg[94];
		strerror_s(errmsg, 94, errno);
		std::cerr << e.what() << " (" << errmsg << ")" << std::endl;
	}

1 użytkowników online, w tym zalogowanych: 0, gości: 1