在C++ 98中输入双引号

在C++ 98中输入双引号,c++,stl,C++,Stl,我也问过其他问题,但我需要的是一点不同。 我有一个很可能来自某个word文档的长字符串,我想计算字符串的字符数。 我正在复制代码字符串s3中的长字符串=如何继续。我不需要C++11中的解决方案 #include<iostream> #include<string> using namespace std; int main() { string s1="My test"; //Works string s2="My" "test"; //Still

我也问过其他问题,但我需要的是一点不同。 我有一个很可能来自某个word文档的长字符串,我想计算字符串的字符数。 我正在复制代码字符串s3中的长字符串=如何继续。我不需要C++11中的解决方案

#include<iostream>
#include<string>

using namespace std;

int main()
{

    string s1="My test"; //Works
    string s2="My" "test"; //Still works
    string s3="My"1003"test"; //Doest work. My string being input from user is `My "1003" test`. If i input it in string it becomes "My "1003" test.
    cout<<s;
}

编辑:先看问题,试着理解问题的症结所在,而不是盲目地重复。转义字符并不方便,因为字符串可能包含大量双引号,手动使用转义字符进行双引号转义也不方便。

如果您想在源代码中输入一个包含双引号的字符串,则需要将其转义为\


示例:My\1003\test是一个包含字母“M”、字母“y”、引号、数字1等的字符串。

您如何读取该字符串?发布一个实际编译的完整示例。双引号的可能副本只是一个常规的单字节字符,我看不出有任何理由在输入中出现问题。这是关于用户在运行时输入的字符串还是关于源代码中的字符串?转义仅适用于sourcecodeSure中的字符串Literal。但是如果字符串很长并且有很多这样的双引号,在每个双引号之前手动键入\是不好的。@anurag86使用您最喜欢的查找和替换工具,然后。