Программа для удаления комментариев, только с одним файлом - PullRequest
0 голосов
/ 27 февраля 2020
while((current = fgetc(file_with_comments)) != EOF){
  exit_flag = false;
  switch(current){
     case '/':
        if((current = fgetc(file_with_comments)) == '*'){
           do{
              if((current = fgetc(file_with_comments)) == '*'){
                 if((current = fgetc(file_with_comments)) == '/'){
                    exit_flag = true;
                 }
              }
           }while(exit_flag == false);
        }
        if(exit_flag == false){
           array_of_char[index] = '/';
           index++;
        }
        break;

     case '*':
        printf("does u go in here\n");
        break;

     default:
        array_of_char[index] = current;
        index++;
  }


}

Итак, я пытаюсь построить эту программу, которая удаляет комментарии из файла. c (а не однострочных комментариев, так что //) успешный Однако это не работает на некоторых вещах, где это должно работать. Если я, например, использую это для ввода

/**** This is a comment with a bunch of stars in it ****/
//* This is a comment immediately after a slash */
/* This is a comment immediately before a slash *//

И вывод будет корректным, ожидаемым для последнего '/', программа удалит это, и я не могу понять, почему. Благодарю за любую помощь!

Редактировать: Я только что понял, что в коде у меня остался регистр '*', это можно игнорировать, поскольку я его не использую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...