私は、後でPythonで書式設定するために、新しい行デリミタをすべて取得する必要がある複数行の関数から作成された文字列を使用したいという問題があります。例えばC++の出力const char *デリミタ付き
次のような文字列に
const char * getInfoLogFunction()
{
static char buffer[4096];
glGetShaderInfoLog(shader, 4096, NULL, buffer);
const char * compileStatus = buffer;
return compileStatus
}
今compileStatusポイント:
これは文字列です。
複数の行があります。
後で、私は、文字列全体をタブ区切りテーブルの1セルに入れるアプリケーションにcompileStatusを送る必要があります。 Pythonでは、1行の文字列を複数の行にフォーマットする必要があります。区切り文字が文字列内にあっても、区切り文字が文字列内にあれば簡単に実行できますが、そうではありません。
compileStatusから文字列を取得してフォーマットすると、すべての区切り文字が表示されます。
文字列はのような暗黙的に作成されたとき、私は例のラ番号を見つけた:
myString = R"xyz(Some String)xyz"
しかし、私は関数によって生成されたのconstのchar *で参照される文字列の書式を設定する方法を見つけることができません。
おかげ
[XY問題](https://meta.stackexchange.com/questions/66377/)のように感じます。この関数はすでに改行文字列を返します。文字列をテーブルに表示するときに、アプリケーションが改行を取り除くように聞こえます。元の機能はそれについて何もできません。アプリケーションは改行を取り除くべきではなく、必要なときに解析できるように元の文字列を覚えておく必要があります。 –
これは本当に貧しいデザインです。この関数を呼び出すたびに、前に副作用として返されたすべての文字列が遡って上書きされます。 –
ありがとうレミー私はそうだと思います。 バーム私はそれがデザインの欠陥であるかどうか分かりません。この場合、以前に返された文字列は重要ではありません。なぜなら、最後のコンパイルログだけがユーザの関心事であるからです。ユーザーはシェーダーを作成し、エラーがあった場合は通知されます。 –