C — Как мне получить жетон до того, в котором я сейчас нахожусь?

#c #token

Вопрос:

Я пытаюсь вернуть в консоль в C токен, который находится перед тем, в котором я сейчас нахожусь, в файл. Маркеры разделяются разделителями. Нужно ли мне внедрять какой-то счетчик?

Вот мой код.

 #include <stdio.h>
#include <string.h>

int main (int argc, char **argv)
{
    char line [1000];
    char *delimeters = ".,; tn";
    FILE *input = fopen (argv[2], "r");

    while(fgets(line,1000,input) != NULL)
    {
        char *word = strtok(line, delimeters);

        while(word != NULL)
        {
            if(word != NULL amp;amp; strcmp(word,"(") == 0)
            {
                printf("Enters IF 3n");
                char *method_name = strtok(NULL, delimeters); //NEED BEFORE WORD
                printf ("Method %sn", method_name);
            }
 

Комментарии:

1. Разве вы не можете просто сохранить предыдущую в a char *prev ?

2. И как мне это записать? Потому что в то время, когда я ввожу оператор if, я уже нахожусь в следующем. Похоже на это «Что-то ()», я распечатываю»)», и я хочу «Что-то».

Ответ №1:

Хорошо, я понял, что вместо того, чтобы искать предыдущий токен после, я должен искать что-то раньше в операторе if. В любом случае, это какой-то сложный вопрос.

Пример: Method Return_type Something ();

Вместо того, чтобы искать ( , я должен искать Method , а затем переходить к Something «с strtok «.