char *strings[30];
char Policystr[4096] = "the|string|to|split";
char delims[] = "|";
int i = 0;
strings[i] = strtok(Policystr, delims)
while(strings[i] != NULL )
{
MessageBoxA(NULL,strings[i],"stringsComparison",MB_OK);
strings[++i] = strtok(NULL, delims);
}
for (int j = 0; j < i; j++)
{
MessageBoxA(NULL,strings[j],"strings",MB_OK);
}
を分割するためにはstrtokを使用しましたadvance私はCに新しいです++私はYIを知らないで</p> <p>感謝を取得していない午前二ループで同じことを印刷することができる午前た場合、私は最初のループ内のすべての文字列を取得する文字列に
'MessageBoxA(NULL、文字列[j]は、 "stringsComparison"、MB_OK);'正しいことができません。 'j'はトップループ内で決して変化せず、実際にそこにも存在しません。 –
最初のループで 'strings [j]'を 'strings [i]'に変更してみてください。 – aland
C++を使っているなら 'std :: string'と' std :: vector'を使うことができますか? 'std :: string'を分割することは簡単です。特に' boost'がおそらくこの目的のために何かを持っていると考えると、 'boost'がなくても簡単にできるはずです。 – dreamlax