0

バックスペース文字を含む null で終わる char* を'ing itせずmallocに返したい。具体的には、文字列を {backspace-character, space-character, backspace-character, null-character} にし、それ以外は何もしないでください。

「通常の」文字列の場合、私は言うことができることを知っています

char* s = "regular";
return s;

次に、スタック外で宣言されたグローバルであるsstring を指しているため、他の関数に渡しても安全です。regularただし、バックスペースでこれを達成することを考えることができる唯一の方法は

char* s = {0x08, ' ', 0x08, '\0'};
return s;

しかし、宣言した配列がスタック上にあり、呼び出し元の関数での使用が無効になるため、これには問題があるようです。繰り返しますが、後でmalloc処理しなければならないことに対処したくないので、この文字列は使いたくありませんfree。私に何ができる?

4

3 に答える 3

3

\bたとえば、文字列リテラルにバックスペースを含めることができます"\b \b"

于 2013-03-05T06:36:09.113 に答える
1
char*   s = "\b \b";

これはあなたが探しているものですか?

于 2013-03-05T06:36:04.073 に答える
0

他の回答ごとに文字列定数を使用することに加えて、次のことができます

static char s[] = {0x08, ' ', '0x08, '\0'};
return s;
于 2013-03-05T08:41:53.347 に答える