Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2016, 22:29   #1
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию Считывание из файла чисел

Помогите, пожалуйста.
Во входном файле у меня на первой строке число n, а во второй n чисел.
Первую строку я считываю, input_file >> n;
А как начать считывать со второй строки?
dimon_snake вне форума Ответить с цитированием
Старый 28.01.2016, 23:06   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Для текстового файла разделителями являются пробелы, переводы строк и табуляции. То есть ему не важно, на разных строках числа или на одной через пробелы. Просто читать в цикле.
Arigato вне форума Ответить с цитированием
Старый 28.01.2016, 23:21   #3
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

У меня входной файл:
5
4 3 7 2 9
Я читаю первую цифру
file_in >> i;
Потом идет цикл от m до i, то есть i - кол-во чисел второй строки.
Но он их не читает.
Цикл таков:
Код:
in >> i;
x=0;
y=0;
z=0;
for(int v(0); v<i;v++)
	{
 in>>m;
dimon_snake вне форума Ответить с цитированием
Старый 29.01.2016, 13:07   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <cctype>
        
        FILE* in = 0;
	long Size = 0;
	char* Buff = 0;
	if(argc == 2)
	{
		in = fopen(argv[1],"r");
		if(in == 0)
		{
			printf("File %s not open! \n\r", argv[1]);
			system("pause");
                        return 1;
		}
		// размер файла
		fseek(in, 0, SEEK_END);
		Size = ftell(in);
		Buff  = new char [Size];
		rewind(in); //указатель на начало файла
		fread(Buff, 1, Size, in);// читаем в буфф
		for(int i=0; i < Size; ++i)
		{
			if(isdigit(Buff[i]))// если ето число
			{
				printf("%d \n\r", atoi(&Buff[i])); // выводим в косоль
			}
		}

		fclose(in);
		delete [] Buff;
		system("pause");
	}

	return 0;
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 29.01.2016, 13:53   #5
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

А можно на С++?
dimon_snake вне форума Ответить с цитированием
Старый 29.01.2016, 14:15   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

dimon_snake, вы пост #2 от Arigato прочитали?
Код:
int n;
in >> n;
for(int i=0;i<n;i++) {
   in>> m; // тут в цикле каждый раз будет считываться новое значение
}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.01.2016, 14:34   #7
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Цитата:
А можно на С++?
Низзя. Онли олдскул.

Serge_Bliznykov все сказал тебе.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 29.01.2016, 15:47   #8
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Все, спасибо. Просто входной файл не туда ставил.
dimon_snake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неверное ввод/считывание чисел из файла Negent Visual C++ 3 20.06.2014 12:49
С++ Считывание чисел из файла с расширением .txt Gared Помощь студентам 2 18.09.2011 16:11
Считывание чисел из файла в массив rubakKa Общие вопросы C/C++ 11 02.12.2010 21:55
Считывание с файла отрицательных чисел trinki Общие вопросы C/C++ 2 01.10.2010 01:39