Я читаю из текстового файла и помещаю его в строку, а затем удаляю определенную строку из этой строки, используя счетчик для подсчета количества новых строк, а затем записываю в новую строку. Он работает, чтобы удалить конкретную строку, которую я хочу, но он оставляет пробелы на своем месте, когда я записываю его обратно в текстовый файл. Я пытаюсь удалить эти пробелы, но изо всех сил пытаюсь найти решение.
Я попытался выполнить поиск по строке вручную, чтобы удалить пробелы, используя цикл 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);
}
Ввод из текстового файла / строка вывода