1

以下の文字列があり、多くの悲しみを引き起こしています。

"John","\Jane","\Jerry"

上記の文字列の Visual C++ での宣言は次のとおりです。

String ^mynames="John\",\"\\\Jane\",\"\\Jerry";

問題は、各名前を文字で分割できないことです","\。結果を配列に格納する必要があります。

array<String^>^ data_line;

しかし、次の行は機能しません

data_line=mynames->Split('\",\"\\\');
4

2 に答える 2

1

コンパイラ エラーが発生しなかった場合、コードは に戻り、セパレータとして、、およびString.Split(Char[])が受け入れられます。","\

","\区切りとして使用する必要があるため、次を使用します。

data_line=test->Split(new string[] {"\",\"\\\"}, StringSplitOptions.None);
于 2013-08-14T09:48:17.027 に答える
1

Visual C++ CLI/Managed C++ で動作するソリューションを次に示します。

split 関数は、ユーザーが入力した文字セットに対して文字列を直接分割することを受け入れませんでした。これを解決するには、文字列配列を宣言して分割関数に渡す必要があります。少しばかげて退屈ですが、これは実際のコード サンプルです。

String ^mynames="John\",\"\\\Jane\",\"\\Jerry";
array<String^>^ data_line;
array<String^>^ stringtocompare = gcnew array<String^>(1);  //Declare an array to do the comparison
stringtocompare[0]="\",\"\\";       //Compare against the character sequence ","\
data_line=mynames->Split(stringtocompare, StringSplitOptions::None);
于 2013-08-14T11:57:30.143 に答える