我正在使用 Xcode 4.5,我的程序中有以下代码:
char strChar[5];
cin.getline(strChar, 5);
int i = atoi(strChar);
当我开始尝试输入一个数字时,在按下第一个数字后,控制台将不再接受任何输入(除了回车键,在这种情况下程序只会立即返回零)。显然,我要接受多个字符,我该如何做到这一点?
谢谢回答我的问题
如果你想读一行,写起来可能更容易:std::getline(std::cin, str),其中str的类型是std::string。您的示例仅读取 5 个字符。
注意:如果你想读取的不仅仅是一个数字,而是多行上的一堆数字,你应该把它们全部放入一个循环中。
Apple 已发布修复此问题的更新。XCODE 4.5.1 (4G1004)
这是 Xcodes 最新版本 (4.5) 中的一个已知错误。Apple 知道这一点,并且正在开发补丁。目前截至发稿时,没有已知的解决方法。现在你只需要在终端中运行程序。
** 注意在较新版本的 Xcode 中,命令行工具不会自动安装 ** 安装进入 Xcode -> 首选项 -> 下载 ->安装命令行工具
在终端中运行 C++ 程序:
1.) 打开终端。
2.) 导航到正确的目录
3.) 键入“make projectName”减去引号
4.)执行程序:“./projectName”减去引号
请注意:您的代码没有将字符串读入“str”,只是“strChar”。