C ++ 프로그램이 벡터로 아무것도 인쇄하지 않습니까?
Nov 15 2020
프로그램을 컴파일하고 실행했지만 문제를 좁히려 고 할 때 아무 일도 일어나지 않았습니다. 벡터를 정의 할 때마다 출력에 아무것도 전송되지 않는 것으로 나타났습니다. 이 프로그램에서는 std:cout
처음 에도 아무것도 인쇄 되지 않으며이 문제를 해결하는 방법을 이해하지 못합니다. 하지만 간단한 "hello world"는 작동합니다. 또한 저는 Windows 10에 있으며 VSCode를 사용합니다.
#include <iostream>
#include <vector>
int main( void )
{
std::cout << "hello\n";
std::vector<int> g1;
for (int i = 1; i <= 5; i++)
g1.push_back(i);
std::cout << "Output of begin and end: ";
for (auto i = g1.begin(); i != g1.end(); ++i)
std::cout << *i << " ";
std::cout << "\nOutput of cbegin and cend: ";
for (auto i = g1.cbegin(); i != g1.cend(); ++i)
std::cout << *i << " ";
std::cout << "\nOutput of rbegin and rend: ";
for (auto ir = g1.rbegin(); ir != g1.rend(); ++ir)
std::cout << *ir << " ";
std::cout << "\nOutput of crbegin and crend : ";
for (auto ir = g1.crbegin(); ir != g1.crend(); ++ir)
std::cout << *ir << " ";
return 0;
}
터미널 (Windows Powershell)에서이 명령을 작성합니다.
g++ test.cpp -o test
.\test
답변 해주셔서 감사합니다
답변
2 Sambalika Nov 15 2020 at 20:29
해리가 조언 한 것과 같은 생각으로. cout 후에 체계적으로 플러싱을 시도하십시오 (그렇게하지 않으면 예상 할 때 인쇄물이 보장되지 않을 수 있습니다). 사용 << std::endl
하면 라인이 종료되고 ostream이 플러시됩니다 (각 cout 후에 권장 됨). 그리고 라인을 끝내고 싶지 않다면 간단히<< std::flush
LuckyloneOfficial Nov 15 2020 at 21:03
답을 찾았습니다 : dll 파일 libstdc++-6.dll
을 .exe dir에 넣고 내 문제를 해결 해야한다는 것이 밝혀졌습니다.