我想返回一个以null结尾的char *,它包含一个退格字符,而不包含malloc
“。
具体来说,我希望字符串为{backspace-character,space-character,backspace-character,null-character},而不是别的。
对于“常规”字符串,我知道我可以说
char* s = "regular";
return s;
然后s
可以安全传递给其他函数,因为它指向字符串regular
,它是在堆栈外声明的全局。但是,我能想到用退格来实现这个目标的唯一方法就是
char* s = {0x08, ' ', 0x08, '\0'};
return s;
但这似乎有问题,因为现在我声明的数组在堆栈上,并且无法在调用函数中使用。同样,我不想malloc
这个字符串,因为我不想在以后处理它free
。我该怎么办?
答案 0 :(得分:3)
您可以在字符串文字中包含退格为\b
,例如"\b \b"
答案 1 :(得分:1)
char* s = "\b \b";
这就是你要找的东西吗?
答案 2 :(得分:0)
除了使用其他答案的字符串常量外,您还可以
static char s[] = {0x08, ' ', '0x08, '\0'};
return s;