Я пытаюсь cat string, который вводит char * в c++, это мой код
void DBManager::printMatched(char* line, char* fileName)
{
line = strtok(line,"Show");
char* teamAName = strtok(line," ");
char* teamACity = strtok(NULL,"-");
char* teamBName = strtok(NULL," ");
char* teamBCity = strtok(NULL,"\n");
}
и это текст в строке "Показать abcde fghij - klmnop qrstu"
это переменные данные:
teamAName = abcde
teamACity = fghij
teamBName = klmnop
teamBCity = qrs
как я могу исправить teamBCity, который мне нужно сократить до строки.
Я работаю над системой Linux.
Я думаю, это то, что вы хотите. Не совсем уверен в вашем примере. Очевидно, что это может быть улучшено, и, возможно, вы хотите использовать больше С++ ish?
void DBManager::printMatched(char* line, char* fileName)
{
char* linecpy = strdup(line);
char* dummy = strtok(linecpy," ");
char* teamAName = strtok(NULL," ");
char* teamACity = strtok(NULL," ");
dummy = strtok(NULL," ");
char* teamBName = strtok(NULL," ");
char* teamBCity = strtok(NULL," \n");
printf("teamAName %s\n", teamAName);
printf("teamACity %s\n", teamACity);
printf("teamBName %s\n", teamBName);
printf("teamBCity %s\n", teamBCity);
// do something with strings here?
}
printMatched()
?