gcc 4.4.4 c89удалить символы из строки c
Я читаю текст из текстового файла, а текстовый файл состоит из имен в двойных кавычках.
"Simpson, Homer"
etc
Однако, я хочу удалить двойные кавычки из строки.
Вот как я это сделал, но я не уверен, что это лучший способ.
int get_string(FILE *in, char *temp)
{
char *quote = NULL;
/* Get the first line */
fgets(temp, STRING_SIZE, in);
printf("temp before [ %s ]\n", temp);
/* Find the second quote */
if((quote = strrchr(temp, '"')) == NULL) {
fprintf(stderr, "Text file incorrectly formatted\n");
return FALSE;
}
/* Replace with a nul to get rid of the second quote */
*quote = '\0';
/* Move the pointer to point pass the first quote */
temp++;
printf("temp after [ %s ]\n", temp);
return TRUE;
}
Большое спасибо за любые предложения,
в качестве альтернативы, ОП можно использовать 'memmove (температура, температура + 1, STRLEN (темп + 1) + 1); 'сдвинуть строку в буфере (вместо' temp ++; '). – caf
@caf: Это то, что я имел в виду как «должен перемещать символы в буфере». – Vlad
Да, я не собирался комментировать вас, больше для OP. – caf