Недавно удаленная строка из текстового файла в виде строки, оставленной пустой, и я не могу удалить пробелы из строки - PullRequest
0 голосов
/ 09 апреля 2019

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

Я попытался выполнить поиск по строке вручную, чтобы удалить пробелы, используя цикл for и выполнив поиск '', но он возвратил неопознанные символы, в которых я не был уверен.

void removeBook(int line){
  char *bookrecord = "records/bookrecord.csv";
  FILE *file = fopen(bookrecord,"r");
  int currentline = 1;
  int count = 0,newcount = 0,length;
  char *string;
  char *newstring;

  fseek(file,0,SEEK_END);
  length = ftell(file);
  fseek(file,0,SEEK_SET);
  string = malloc(length+1);
  fread(string,sizeof(char),length,file);
  fclose(file);
  string[length] = '\0';

  length = strlen(string);
  newstring = malloc(length+1);

  while(string[count] != '\0')
  {
    if(currentline == line)
    {
      while(string[count] != '\n')
      {
        count++;
      }
    }
    if(string[count] == '\n')
    {
      currentline++;
    }
    printf("%c",string[count]);
    newstring[newcount] = string[count];
    count++;
    newcount++;
  }
}

void main(){
  removeBook(2);
}

Ввод из текстового файла / строка вывода

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