2016-12-25 24 views
-3

私がやっていることは、C++で.jsファイルを書くことで、組織図を描くために.htmlファイルで使われます。 私は実際に抽象構文木を作っています。このため、ツリーノードを次のようなjsファイルに書き込みます。引用符で囲まれたファイルに文字列を書く

var nodes = [ 
    "int main(){", 
    "String str = "hello 'Jane'";", 
    "}" 
] 

引用符に問題があります。 cppで次の出力を得るにはどうすればいいですか?

var nodes = [ 
    "int main(){", 
    "String str = \"hello \'Jane\'\";", 
    "}" 
] 
+0

ちょうど*同じ*? –

+0

質問がありません –

+0

C++では、JavaScriptの場合と同じように、バックスラッシュで特殊文字を文字列にエスケープします。さらにバックスラッシュが必要な場合は、さらにバックスラッシュを追加することでそのバックスラッシュをエスケープする必要があります。 –

答えて

-1

読み込みと書き込みjsonファイルの場合は、通常はQTを使用しています。 例:

QJson json; 
//write jeson 
json["test1"] = "hello"; 
json["test2"] = "jan"; 
//read from json file 
cout<<json["test1"]; 
cout<<json["test2"]; 
-1

「エスケープ」と呼ばれる関数を記述します。

int escape(char *out, size_t sz, const char *in) 
    { 
    int i = 0; 
    int j = 0; 

    for(i=0;in[i];i++) 
    { 
     if(j > sz - 2) 
      /* output buffer too small */ 
     switch(in[i]) 
     { 
      case '\n'; out[j++] = '\\'; out[j++] = 'n'; break; 
      case '\\'; out[j++] = '\\'; out[j++] = '\\'; break; 

      ... 

      default: out[j++] = in[i]; break; 
     } 
    } 
    out[j++] =0; 
    return j; 
    } 
関連する問題