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);
}
Я новичок в C++ я получить все строки в первом цикле, если я могу напечатать то же самое во втором цикле я не знаю, ух я не получаюИспользование strtok для разбиения строки
благодарите advance
'MessageBoxA (NULL, строки [J], "stringsComparison", MB_OK);' Это не может быть правильным. 'j' никогда не меняется в верхнем цикле и, по сути, даже там не существует. –
Попробуйте изменить 'строки [j]' на 'строки [i]' в первом цикле ... – aland
Если вы используете C++, посмотрите, можете ли вы использовать 'std :: string' и' std :: vector'. Разделение строки 'std :: string' тривиально, особенно учитывая, что' boost', вероятно, имеет что-то точно для этой цели, но даже без 'boost' должно быть легко. – dreamlax