Как переформатировать разделенные пробелами строки текста в отдельные теги <div>на языке Си? - PullRequest
0 голосов
/ 02 октября 2009

Мне нужно иметь возможность (на языке C) зацикливаться на нескольких строках текста, где в каждой строке есть какой-то текст, слова ограничены переменным количеством пробелов. Как я могу обнаружить пробелы и разбить каждую строку на некоторый массив, чтобы я мог поместить каждое слово в отдельный тег слова в каждой строке?

Любой совет будет высоко ценится. Спасибо

Ответы [ 3 ]

0 голосов
/ 02 октября 2009

Вы можете использовать функцию strtok () для разделения на токены. См. strtok . Он показывает, как использовать strtok и разбивать строки на слова по пробелу.

0 голосов
/ 02 октября 2009

Вы можете сделать это:

start = end = 0;

while (str[end]) {
    // extract word
    while(str[end] && !isspace(str[end])) {
        end++;
    }
    // word found between str[start] and str[end]
    // do something with it

    // skip whitespaces
    while (str[end] && isspace(str[end])) {
        end++;
    }
    start = end;
}
0 голосов
/ 02 октября 2009

В одну сторону:

char* cp = strtok(inputString, " \t\n");
while (cp) {
    // cp points to word in inputString, do something with it
    cp = strtok(0, " \t\n");  // get next word
}

Если вы не можете изменить inputString - как это делает strtok () - вы можете перебрать строку, проверяя каждый символ с помощью isspace (), из ctype.h.

...