Fscanf с запятой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер, вообщем есть структура в ней находится 2 массива типа char. При запуске программы надо считать с файла данные и перенести их в структуру. Проблема в том что отделение в тексте идет запятыми, а когда он записывает в первый char он записывает его с запятой, помогите решить проблему
struct sp{
char name[10];
char sit[10]
}p;
 
fscanf(file, "%s %s", p.name, p.sit);
Текст в файле допустим такой Иван, Rostov

Решение задачи: «Fscanf с запятой»

textual
Листинг программы
fscanf(file, " %[^,],%s", p.name, p.sit);

Объяснение кода листинга программы

В данном коде используется функция fscanf для чтения данных из файла. Формат ввода ожидается следующим: сначала идет строка, которая заканчивается символом запятой (,). Далее, после этой строки, идет еще одна строка, которая заканчивается символом новой строки (\n). Используется спецификация формата %[^,],%s, которая означает следующее:

  1. %[^,] - это спецификация для чтения строки, которая состоит из любых символов (кроме запятой), и она прочитывается до тех пор, пока не встретит символ запятой (,). В этой части формата мы читаем данные из файла и сохраняем их в переменной p.name.
  2. %s - это спецификация для чтения строки, которая состоит из любых символов (кроме символа новой строки (\n)). В этой части формата мы читаем данные из файла и сохраняем их в переменной p.sit. Таким образом, после выполнения данного кода, переменные p.name и p.sit будут содержать данные, которые были прочитаны из файла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5