首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在printk中使用回车

如何在printk中使用回车
EN

Stack Overflow用户
提问于 2017-09-18 05:21:03
回答 1查看 778关注 0票数 0

我使用printk作为内核打印代码。我要使用'\r' (回车)打印行清除。

例:

代码语言:javascript
复制
printk("hello");

-> : hello

printk("\r .....");

-> : ....

但在使用\r时,它不起作用,只是打印出奇怪的字符。

代码语言:javascript
复制
    char input;
    if(input=='\b')
    printk("\r");
    else
    printk("%c",input);

用错了吗?如何在内核中使用回车?在这种情况下,我不能使用printk吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-18 07:07:05

\r不清除行,如果这是您所要求的,而是返回到行的开头,并打印以前打印过的内容。

printf("Hello \r123")

会打印

123llo

编辑:你可以把空格写到行里。

代码语言:javascript
复制
printk(KERN_CONT,"\r%*c\r, MAX_STRING_LENGTH, 32);

KERN_CONT不转到新行,而是在同一行上继续。

首先\r返回行的开头

%*c根据字符串的长度打印空格数

最后\r再次返回到行的开头。

您可能希望编写自己的方法来返回字符串长度,而不是使用MAX_STRING_LENGTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46272087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档