telnet 连接关闭时出现意外输入

问题描述

我已经为 WinCE6 和 WinCE7 实现了一个交互式命令行工具,它正在等待用户输入:

while(true)
{
    TCHAR selection[100];
    wprintf(_T("\nMain menu:\n\n"));
    wprintf(_T("[0] Do something\n"));
    wprintf(_T("[1] Do something else\n"));
    //[...] Other options
    wprintf(_T("[-] Exit\n"));

    wscanf(_T("%100s"),&selection);
    
    // [...] Do something depending on selection
    
}

除了在目标设备上通过 telnet 使用该工具时出现意外行为外,一切正常:如果您关闭 telnet 连接而不关闭程序,程序将继续执行您选择的最后一个命令。

在调试模式下从 Visual Studio 执行工具到带有 ActiveSync 的设备,显示程序没有阻塞并在此处等待输入:

wscanf(_T("%100s"),&selection);

就像系统本身不断提供导致这种行为的“\n”一样。

有人见过吗?有人对此有解释吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)