晴空的code 2022-09-29 23:05 采纳率: 75%
浏览 46
已结题

C语言中scanf()输入的光标移动问题

img


请问我在电影名字下面输入内容后光标如何跳到电影票价格下面进行输入,在C语言中有没有什么办法实现

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-09-29 23:23
    关注

    如果你的终端支持ANSI escape code,那么你可以使用ANSI escape code来移动光标,改变字体或背景颜色等的。
    详情请参考
    https://en.wikipedia.org/wiki/ANSI_escape_code

    下面是一个简单的例子,用的是VS Code内置的Terminal

    img

    #include <stdio.h>
    
    void clear()
    {
        printf("\033[H\033[J");
    }
    
    void goto_xy(int x, int y)
    {
        printf("\033[%d;%dH", y, x);
    }
    
    int main()
    {
        int number;
        clear();
        printf("Enter your number in the box below\n"
               "+-----------------+\n"
               "|                 |\n"
               "+-----------------+\n");
        goto_xy(2, 3);
        scanf("%d", &number);
        goto_xy(1, 5);
        printf("The number is: %d\n", number);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 创建了问题 9月29日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵