Записать числа файла в массив - C (СИ)
Формулировка задачи:
Привет всем!
Есть текстовый файл, в котором строчки такого вот формата
как разобрать его таким образом, чтобы в 9 переменных записались последовательно числа?
т.е. есть
и в них должны быть цифры строки из файла (если исходить из приведённой выше строки, то a1 = 49, a2 = 183, a3 = 46 и т.д.
общий алгоритм такой
P.S. Чисел в каждой строчке всегда 9
как это сделать?
***
{49,183,46,189,165,27,27,96,130}
***int a1, a2, a3, a4, a5, a6, a7, a8, a9
открываю файл цикл (пока не закончится файл) читаю строчку выписываю из неё зачения для a1-a9 что-то делаю с этими значениями конец цикла
Решение задачи: «Записать числа файла в массив»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
char str[] = "{49,148,123,197,181,27,27,96,130},";
int a1 = 0;
int a2 = 0;
int a3 = 0;
int a4 = 0;
int a5 = 0;
int a6 = 0;
int a7 = 0;
int a8 = 0;
int a9 = 0;
printf("String: %s\n", str);
sscanf(str, "%*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d",
&a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9);
printf("%d %d %d %d %d %d %d %d %d\n",
a1, a2, a3, a4, a5, a6, a7, a8, a9);
return 0;
}
Объяснение кода листинга программы
В этом коде программа считывает строку, представленную в формате {49,148,123,197,181,27,27,96,130}, и сохраняет числа в массив. Вот список действий, которые выполняет код:
- Включает стандартную библиотеку ввода-вывода (stdio.h).
- Определяет точку входа в программу как main().
- Объявляет массив символов str[] со значением
{49,148,123,197,181,27,27,96,130}, который представляет собой строку. - Объявляет девять переменных типа int (a1, a2, a3, a4, a5, a6, a7, a8, a9) для хранения чисел из строки.
- Выводит строку на экран с помощью функции printf().
- Использует функцию sscanf() для считывания чисел из строки в переменные a1, a2, a3, a4, a5, a6, a7, a8, a9.
- Выводит значения переменных a1, a2, a3, a4, a5, a6, a7, a8, a9 на экран с помощью функции printf().
- Завершает программу и возвращает 0.