2014-02-22 47 views
2
int main(int argc, const char * argv[]) 
{ 
    const char* input = readline(NULL); 
    NSLog(@"%d", atoi(input)); 

    return 0; 
} 

我试图在控制台中输入一个字符序列,但是每当我键入一个键时,紧跟在刚输入的字符后面的字符就会紧跟在一起。 (例如,我在控制台中键入'1',控制台将显示“11”)此外,当我尝试使用delete-key删除输入的字符时。上下颠倒的问号将出现,但在char *中最后一个字符已被删除?为什么readline()在控制台中输入回显?

为什么所有这些发生?

http://i.stack.imgur.com/UheQt.png

+2

可能是'readline'和控制台回显有问题吗? –

+0

@JoachimPileborg如何解决这个问题?我正在关注教科书,似乎对此没有任何问题。 –

+2

我认为@JoachimPileborg是在正确的轨道上。如果您从终端运行您的程序,则不会发生此问题。通过打开一个新的终端窗口并将CountDown产品(在Xcode导航器中的产品组下)拖到终端窗口来尝试它。这会将程序的路径复制到终端提示符中。现在,如果您从终端运行程序,双输入回显将不会发生。 –

回答

3

这是预期行为的Xcode 5.您可以在终端的Xcode外运行它,它应该表现正常。

+0

仍然在Xcode 8上发生.. – Enrique

+0

确认。仍然发生在Xcode 8 ... –

+0

仍然发生在Xcode 9 ... – SagunKho

相关问题