[英]How to use carriage return in printk
我将printk用于内核打印代码。 我想用'\\r'
(回车)来清除printk行。
例如:
printk("hello");
-> : hello
printk("\r .....");
-> : ....
但是在使用\\ r时,它不起作用,仅打印奇怪的字符。
char input;
if(input=='\b')
printk("\r");
else
printk("%c",input);
这是错误的使用方式吗? 以及如何在内核中使用回车? 我不能在这种情况下使用printk
吗?
\\ r不会清除您要的行,而是返回到行的开头并打印之前的内容。
printf("Hello \\r123")
会打印
123llo
编辑:您可以只在行中写空格。
printk(KERN_CONT,"\r%*c\r, MAX_STRING_LENGTH, 32);
KERN_CONT不转到新行,而是在同一行继续
第一个\\ r返回到行的开头
%* c根据字符串的长度打印空格数
最后一个\\ r再次返回到行的开头。
您可能想编写自己的方法以返回字符串长度,而不是使用MAX_STRING_LENGTH
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.