Форум программистов, компьютерный форум CyberForum.ru

Записать информацию из файла в динамический массив - C++

Восстановить пароль Регистрация
 
ed8009
7 / 7 / 1
Регистрация: 31.08.2011
Сообщений: 135
24.05.2013, 14:00     Записать информацию из файла в динамический массив #1
Здравствуйте. Пробую из фала записать информацию в двумерную матрица типа char. Но у меня ничего не получается, скорее всего так просто нельзя делать?
Вот мой код, посмотрите пожалуйста:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void matrix(char *file)
{
    char s[100];
  ifstream input(file); int n=0;
  while(input.getline(s, sizeof(s)))
     n++;
   char **a=new char[n];
      for (int i=0; i<n;i++)
      {
        input.getline(s, sizeof(s));
         a[i]=new int [strlen(s)];
 
      }
 
}
Длина строки не известна, и количество строк тоже.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 14:00     Записать информацию из файла в динамический массив
Посмотрите здесь:

C++ Как записать динамический массив в файл
Чтения файла в динамический массив C++
C++ Как правильно записать двумерный динамический массив?
C++ Записать всю информацию из файла в другой файл
C++ Не получается записать информацию через функцию в массив структур
Записать исходный и отсортированный динамический массив в файл C++
Чтение из файла в динамический массив C++
Чтение из файла в динамический массив C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
24.05.2013, 14:25     Записать информацию из файла в динамический массив #2
можно вектор использовать, а еще можно вначале число строк почитать, т.к. у вас файл, а не поток
ed8009
7 / 7 / 1
Регистрация: 31.08.2011
Сообщений: 135
24.05.2013, 15:15  [ТС]     Записать информацию из файла в динамический массив #3
А число строк у меня считается:
C++
1
2
while(input.getline(s, sizeof(s)))
     n++;
Не могли бы вы показать как это сделать?, просто я еще никогда не сталкивался с этим.

Добавлено через 45 минут
Вроде бы сделал, но скажите, так нормально будет? Или можно как то проще?
C++
1
2
3
4
5
6
7
8
9
10
11
12
void matrix(char *file, int n)
{
    char s[MAXBUFER];
  ifstream input(file);
   string *a=new string[n];
      for (int i=0; i<n;i++)
      {
        input.getline(s, sizeof(s));
         a[i]=s;
      }
 
}
где MAXBUFER =5000
Yandex
Объявления
24.05.2013, 15:15     Записать информацию из файла в динамический массив
Ответ Создать тему
Опции темы

Текущее время: 00:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru