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

Запись трёхмерного массива string в файл - C++

Восстановить пароль Регистрация
 
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 259
06.02.2013, 00:19     Запись трёхмерного массива string в файл #1
Задан массив string M[1000][8][20], который в процессе работы будет ежедневно пополнятся новыми словами. Как его записывать в файл, чтобы было удобно читать и редактировать ? Подскажите, пожалуйста, кто знает или имеет какие-то мысли по этому вопросу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 00:19     Запись трёхмерного массива string в файл
Посмотрите здесь:

Выделить память для трёхмерного массива C++
Запись string в файл C++
C++ передача трёхмерного массива в функцию
запись в файл string C++
Запись string в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 00:48     Запись трёхмерного массива string в файл #2
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Задан массив string M[1000][8][20], который в процессе работы будет ежедневно пополнятся новыми словами. Как его записывать в файл, чтобы было удобно читать и редактировать ? Подскажите, пожалуйста, кто знает или имеет какие-то мысли по этому вопросу.
C++
1
2
3
for(int x = 0; x < 1000; x++)
    for(int y = 0; y < 8; y++)
        for(int z = 0; z < 20; z++)
Не прокатит, да?

Да и вообще.... я бы на Вашем месте вместо
C++
1
string M[1000][8][20];
использовал бы
C++
1
vector<vector<vector<string>>> array3D;
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
06.02.2013, 00:53     Запись трёхмерного массива string в файл #3
Пёс, а если нужно будет добавить новое поле? 4 вложенных вектора?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <string>
 
struct wordsType
{
    std::string first, second, third;
};
 
int main()
{
    std::vector <wordsType> vector;
    return 0;
}
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:06     Запись трёхмерного массива string в файл #4
Цитата Сообщение от Dekio Посмотреть сообщение
Пёс, а если нужно будет добавить новое поле? 4 вложенных вектора?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <string>
 
struct wordsType
{
    std::string first, second, third;
};
 
int main()
{
    std::vector <wordsType> vector;
    return 0;
}
Вы не упоминали какие либо "поля". А раз уж упомянули поля, то лучше структуры вы ничего не найдёте.

Можете перегрузить операторы "<<" и ">>" для вашей структуры и тогда вам вообще будет удобно записывать и читать структуру в файл
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,427
06.02.2013, 05:27     Запись трёхмерного массива string в файл #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <vector>
#include <string>
#include <tuple>
 
typedef std::tuple<std::string, std::string, std::string> S3;
 
int main()
{
    std::vector<S3> v;
    v.push_back(std::make_tuple("War", "and", "Peace"));
}
gray_fox
06.02.2013, 05:46     Запись трёхмерного массива string в файл
  #6

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
v.push_back(std::make_tuple("War", "and", "Peace"));
Раз уж C++11, то проще будет emplace_back.

Yandex
Объявления
06.02.2013, 05:46     Запись трёхмерного массива string в файл
Ответ Создать тему
Опции темы

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