You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt Creator中scanf等输入函数无法终止问题求助(VS Code可正常运行)

Qt Creator中C语言输入函数无法终止等待的解决办法

1. 切换终端类型

Qt Creator默认内部终端在部分环境下存在输入缓冲异常:

  • 打开工具→选项→环境→终端
  • 将终端改为系统原生终端(Linux可选gnome-terminal/konsole,Windows选cmd.exe/PowerShell)
  • 重启Qt Creator后重新运行程序

2. 启用终端运行选项

  • 在项目视图选中当前项目,切换到运行标签页
  • 勾选在终端中运行(部分版本显示为Run in terminal)
  • 重新编译运行程序

3. 禁用标准IO缓冲

在代码中手动关闭输入输出缓冲,确保输入实时被读取:

#include <stdio.h>
#include <stdlib.h>

int main() {
    setvbuf(stdin, NULL, _IONBF, 0);
    setvbuf(stdout, NULL, _IONBF, 0);

    char c;
    printf("enter value : ");
    scanf(" %c", &c);
    printf("%c", c);

    return 0;
}

4. 验证编译套件配置

  • 确认项目使用的是正确的gcc版本,未混用clang等其他编译器
  • 检查项目构建配置的CFLAGS参数,确保无影响输入输出的特殊设置

5. 清理缓存后重构

  • 点击构建→清理项目
  • 再执行构建→构建项目
  • 完成后重新运行程序

内容的提问来源于stack exchange,提问作者Nicolas Zanforlini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 09:24:43