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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 12:30   #1
slKAHN
Новичок
Джуниор
 
Регистрация: 15.11.2009
Сообщений: 2
По умолчанию Считывание массива из файла

Здравствуйте, форумчане.
Помогите разобраться.

Мне нужно считать из файла массив и определить его размерность.

У меня пока такие мысли.
Считывать строку до \n (Нпочему-то в процессе считывания, этот элемент не считывается.Я где-то читал, что нужно открыть файл в бинарном режиме, и тогда \n можно будет считать. но как это сделать? ). Таким образом, узнаем сколько столбцов. Чтобы узнать число строк, считываем данные пока не будет достигнут конец файла. Отсюда узнаем сколько в массиве строк.

Вот, например, исходный файл с массивом.
FileInpOut.inp
1 2 5
5 3 2
5 2 9


Код:

#include <iostream>      // Ввод-вывод С++
#include <fstream>       // Файловый ввод-вывод С++

void main(void)
{
int i, j; // кол-во строк и столбцов.
ifstream   FInp( "FileInpOut.inp" );

for(i=0;; i++ ) // число строк

{
        for(j=0;s != '\n'; j++) // число столбцов
        {
	FInp >> s;    // в S просто записываем элементы массива

        }

if( FInp.eof( ) )
break;
}


}
slKAHN вне форума Ответить с цитированием
Старый 15.11.2009, 12:33   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А даблпостить зачем?
http://www.programmersforum.ru/showthread.php?t=70736
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 15.11.2009, 14:01   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

если потоками, то можно так

Код:
#include <iostream>
#include <fstream>

using namespace std;

void main()
{
	ifstream in("in.txt");

	char str[100];
	int n=0,m=0;

	if(in.getline(str,100))
	{
		n++; // считает строки
		for(int i=0;str[i];i++)
		{
			if(isdigit(str[i]))
				m++; // считает столбцы (колво цифр в строке)
		}
		while(in.getline(str,100))
			n++;
	}

	cout<<"N="<<n<<"\nM="<<m;
	in.close();
}
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ считывание с файла. tsergey Помощь студентам 20 24.04.2010 23:30
Считывание массива из файла slKAHN Общие вопросы C/C++ 1 15.11.2009 15:01
Считывание с файла на С++ lamak Помощь студентам 8 01.11.2009 22:18
Считывание из файла DimkinStd Общие вопросы Delphi 7 24.01.2007 19:18