我使用printk作为内核打印代码。
我希望使用slice3
(回车)清除printk行。
前:
'\r'
但是在使用\ r时,它不起作用,只打印奇怪的角色。
printk("hello");
-> : hello
printk("\r .....");
-> : ....
使用它是错误的方法吗?如何在内核中使用回车?
在这种情况下我不能使用 char input;
if(input=='\b')
printk("\r");
else
printk("%c",input);
吗?
答案 0 :(得分:0)
\ r \ n不会清除该行,如果这是您要求的,而是返回到行的开头并打印之前打印的内容。
printf("Hello \r123")
会打印
123llo
编辑: 你可以在这一行写空格。
printk(KERN_CONT,"\r%*c\r, MAX_STRING_LENGTH, 32);
KERN_CONT不会转到新行,而是继续在同一行
首先\ r \ n返回到行的开头
%* c根据字符串的长度
打印空格数Last \ r再次返回到行的开头。
您可能希望编写自己的方法来返回字符串长度,而不是使用MAX_STRING_LENGTH