2016-12-25 89 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文件你可以使用boost或QT,我通常使用QT。例如: :

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

写一个叫做“escape”的函数。

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; 
    } 
相关问题