【问题标题】:User input using c++ and Xcode terminal使用 c++ 和 Xcode 终端的用户输入
【发布时间】:2013-09-25 04:41:09
【问题描述】:

我有一个简单的 c++ 程序,它使用 scanf 请求用户输入。 当我运行程序并尝试通过 Xcode 控制台输入一些输入时,它有点崩溃。 当我尝试进行一些用户输入时它会崩溃。

它显示“与 ProjectName 失去联系} 像这样:

int matriz[LIN][COL];
int l1, c1, l2, c2;

GENERATOR(matriz);

do{
    PRINT_ARRAY(matriz);

    printf("\nDigite a posição para realizar a troca");
    scanf("%d %d", &l1, &c1);

这里发生了什么?

我正在使用 Mac OSX Mavericks 和 Xcode 5。

【问题讨论】:

  • 显示代码,而不是错误框的截图。
  • 您很可能使用非指针参数或指针到指针的字符串调用scanf。但这只是一个猜测,因为不看代码就无法判断。我建议您阅读the Stack Overflow question checklist 以帮助您改进问题。
  • 我没有为 scanf 使用非地址。此外,它在终端上也能正常工作。
  • 您确定问题出在scanf 而不是PRINT_ARRAYscanf 通话后的其他问题?或者完全是别的什么?你试过在调试器中运行吗?
  • 它在使用左回车(而不是小键盘上的回车)时有效。这就是我到目前为止得到的解决方案。但是为什么这对小键盘的输入不起作用?

标签: c++ xcode console


【解决方案1】:

为了摆脱“与 ProjectName 的连接丢失”错误,我使用了键盘的左回车,而不是本地化小键盘的那个。

仍在试图弄清楚为什么会发生这种情况。

【讨论】:

    【解决方案2】:

    我在使用 c 和 Objective-c 终端程序时遇到了同样的问题。 根据我发现这是 XCode 中的一个错误。

    不要介意以下信息:您需要使用键盘上的 RETURN 键,而不是 ENTER 键。

    但我找到了以下两种解决方法:

    1. 只有当我使用 BT 键盘输入时,我才出现丢失连接错误。当我在笔记本电脑上使用本机键盘时,终端接受输入。

    2. 如果您关闭了笔记本电脑的盖子,请遵循此解决方法。在 Products 下找到您编译的文件,右键单击以在 Finder 中找到它。在 Finder 中,单击鼠标右键以在终端中运行。 您的程序将毫无问题地运行,终端将接受您的输入。

    希望这会有所帮助。

    【讨论】:

    • 在 bash 上运行程序就可以了。我的问题确实出在 Xcode 上。正如您所提到的,您的依据是什么?
    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2016-09-28
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多