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 *//
И вывод будет корректным, ожидаемым для последнего '/', программа удалит это, и я не могу понять, почему. Благодарю за любую помощь!
Редактировать: Я только что понял, что в коде у меня остался регистр '*', это можно игнорировать, поскольку я его не использую.