Перейти к содержимому

Как считать число из файла c

  • автор:

Как считать число из файла c

Регистрация: 31.05.2010

Сообщений: 15

Как считать int-овское число из файла в переменную? (Си)

В файле, содержится такая информация:
10 10
20 20
30 30

Что нужно: нужно поочередно считывать 2 числа из строчки, осуществлять некоторую процедуру «put(х,у)» и переходить на следующую строчку.
Как это выглядит:

FILE *in; in=fopen("text.txt","r"); char s = getc(in); //эта переменная - просто индикатор окончания файла. int x,y; while(s!=EOF)

Ну вот и как?) Как считать 2 числа, разделенные пробелом, в 2 разные переменные?

Считать число из файла и записать его в переменную на Си

Есть файл, который содержит целое число и больше ничего, например, 312567. Пытаюсь считать из него данные и записать в переменную а для дальнейшего использования — ничего не получается,- уже несколько часов разные варианты использую. Может кто-то поможет с работающим примером на С, т.к. есть другой код на С, который это значение будет использовать? Буду рад помощи. Код такой:

#include // библиотека для вывода на экран int main(void) < int a; FILE *k = fopen("/home/pi/c/file1.txt", "r"); // файл из которого читаем значение fscanf(k,"%d%",a); fclose(k); printf("значение %d\n", a); >

Отслеживать

219k 15 15 золотых знаков 119 119 серебряных знаков 230 230 бронзовых знаков

задан 9 апр 2017 в 13:50

3 1 1 серебряный знак 3 3 бронзовых знака

Считать числа из текстового файла в массив (Си)

Задача В текстовом файле INPUT.TXT записаны целые числа через пробел, возможно, в несколько строк. Сформировать список (массив) этих чисел. Решение Для начала, программа должна открыть файл INPUT.TXT для чтения, для этого используется функция fopen с опцией «r» . Если файл не удалось открыть — она возвращает нулевой указатель:

int main() < FILE* input = fopen("INPUT.TXT", "r"); if (input == 0) < printf("cant open file\n"); return 1; >// .

Теперь (если файл успешно открыт) можно считать его содержимое в массив. Для ввода целых чисел с файла в Си применяется функция fscanf опцией «%d» . Однако, нам нужно считать числа в массив, а значит — массив надо предварительно создать (с помощью функции malloc ). Создание массива — это выделение памяти и нужно знать сколько выделять памяти, но мы не знаем сколько чисел в файле — поэтому перед тем как создавать массив необходимо пройтись по всему файлу и посчитать в нем количество целых чисел. Напишем для этого вспомогательную функцию:

int numberCount(FILE* input) < fseek(input, 0, SEEK_SET); int counter = 0; while (true) < int value; if (fscanf(input, "%d", &value) == 1) counter++; if (feof(input)) break; >return counter; >

В начале своей работы функция устанавливает с помощью fseek указатель (позицию) чтения на начала файла — относительно начала ( SEEK_SET ) на ноль позиций. Далее — в цикле последовательно считывает числа с файла с помощью fscanf . После ввода каждого числа с помощью feof проверяет не был ли поднят флаг конца файла. Если файл кончился — выходит из цикла и возвращает значение счетчика. Теперь мы можем выделить память под массив в функции main:

int size = numberCount(input); int* numbers = (int*)malloc(sizeof(int) * size);

И считать числа с файла в массив, для этого еще раз проходимся по файлу и считываем с него заданное количество чисел:

void read_numbers(FILE* input, int size, int* numbers) < fseek(input, 0, SEEK_SET); for (int i = 0; i < size; ++i) < fscanf(input, "%d", &numbers[i]); >>

Также, напишем вспомогательную функцию для вывода содержимого массива на экран:

void print_array(int* numbers, int size) < for (int i = 0; i < size; ++i) < printf("%d ; ", numbers[i]); >printf("\n"); >

С++ Как извлекать числа из файла в числовой массив для дальнейшей манипуляции над этими числами?

https://inf-ege.sdamgia.ru/problem?id=37348
По ссылке содержится само задание и подкрепленный файл в формате txt
Нужно срочно для ЕГЭ . Как извлекать числа из файла в числовой массив для дальнейшего использования этих чисел ? Без C-стайла ,пожалуйста . И ,возможно ,ли сделать так со статическим массивом ? Или все -таки только коллекции ? С использованием библиотеки fstream Нужно просто ответить как считывать числа в файл на языке C++ ,а не решение этой задачи .
Я новичок ,кроме массивов больше ничего не знаю: ни векторы ,ни коллекции , ни списки.
Если с массивом не возможно , а со списком(list) возможно ?

  • Вопрос задан более двух лет назад
  • 863 просмотра

5 комментариев

Простой 5 комментариев

Евгений Шатунов @MarkusD Куратор тега C++

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *