Прежде всего, C не имеет классов, поэтому в программе на C вы, вероятно, определите свою функцию с помощью прототипа, более похожего на один из следующих:
char ** my_prog_parse(char * string) {
/* (returns a malloc'd array of pointers into the original string, which has had
* \0 added throughout ) */
char ** my_prog_parse(const char * string) {
/* (returns a malloc'd NULL-terminated array of pointers to malloc'd strings) */
void my_prog_parse(const char * string, char buf, size_t bufsiz,
char ** strings, size_t nstrings)
/* builds a NULL-terminated array of pointers into buf, all memory
provided by caller) */
Однако в C ++ вполне возможно использовать строки в стиле C ... ... 1004 *
Вы можете написать свой цикл как
while (*string) { ... ; string++; }
и он будет скомпилирован точно таким же ассемблером на современном оптимизирующем компиляторе. да, это правильный способ перебора строки в стиле C.
Посмотрите на функции strtok
, strchr
, strstr
и strspn
... одна из них может помочь вам найти решение.