Konstantin18ko
@Konstantin18ko
Стоматолог

Почему при чтении файла он не пишет значения после обработки?

Есть код, который считывает входящие значения.
#include <stdio.h>

int main(){
    char city[80];
    char index[80];
    int started = 0;
    
    puts("data=[");
    while(scanf("%79,%79[^\n]", city, index)==2){
        if(started){
            printf(",\n");
        }
        else{
            started = 1;
        }
        printf("{CITY = %s   INDEX = %s}", city, index);
    }
    printf("\n]");
    return 0;
}


Есть фай, со значениями, которые надо перевести в другой формат.
Moscow,RU
London,EN
Minsk,BY

После команды в консоли.
test < city.txt > outfile.txt
Получаю файл без значений:
data=[

]


В чем может быть причина?
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
@diskonnect
Попробуйте следующее выражение в scanf:
scanf("%79[^,],%79[^\n]\n", city, index)

первый [^,] значит читать, пока не встретится запятая, вторая запятая - пропуск символа запятой. Аналогичная ситуация с \n.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы