我在Xcode上编写了一个C ++程序。程序编译并运行得很好。没有任何问题。
出于某种原因,我不得不重新安装MasOSSierra。我备份了我的所有数据,之后我做了一个干净的擦拭并重新安装了MacOSSierra。
当然,我重新安装了XCode。我当前版本的Xcode是版本8.3(8E162)。
现在,当我运行旧程序时,它将无法运行。构建成功没有错误,但没有显示输出。
这是旧程序。它有一个头文件。
// **************************************************************
#include <iostream>
#include "PersonalExpenses.h"
bool addmore() {
std::string yn;
std::cout << "Would you like to add a name to the register or quit(Press 0 to exit or 1 to continue)?";
std::getline(std::cin, yn);
return yn != "0";
}
int main(int argc, const char * argv[]) {
std::vector<PersonalExpenses> ledger;
while (addmore()) {
PersonalExpenses udone;
std::cin >> udone;
ledger.push_back(udone);
}
for (const auto &item : ledger) {
std::cout << "\n";
std::cout << item << "\n";
}
}
// **************************************************************
运行此程序后,我希望在输出中看到以下显示,
“你想加个名字......”
但我一无所获。
所以我将上述程序修改为简单的程序,
// **************************************************************
#include <iostream>
int main(int argc, const char * argv[]) {
int a = 10;
std::cout << "The value of 'a' is = " << a ;
}
// **************************************************************
仍然没有输出。但似乎有一个闪烁的输出,在它完全消失在几分之一秒之前。有趣的是,如果我改变一行
std::cout << "The value of 'a' is = " << a << "\n" ;
然后输出显示正常,
'a'的值是= 10
那我错过了什么?是否有任何我需要更改的设置,或者我应该做些什么来使旧程序工作。谢谢。