Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
3 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 49

Из файла в массив строк

17.07.2015, 13:08. Показов 3648. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте
Необходимо считать из файла .csv разделенных ';' в массив строк в Windows Forms Application. В консоли все это решалось как то немного проще. Здесь возникают проблема.
С горем пополам считал размеры таблицы из файла, записал их в переменные и создал динамические двумерные массивы строк.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
                 setlocale(LC_ALL,"Russian");
        fstream dfs("MSV-BD1.csv");//Открытие одного потока данных
    fstream hw("Kombi-31.csv");//открытие другого потока данных
    stringsdfs=CountStrings("MSV-BD1.csv");//подсчет строк первого потока данных
    stringshw=CountStrings("Kombi-31.csv");//подсчет строк второго потока данных
    //Символы в одной строке считаю как частное количества всех символов в файле на количество строк
    int lenghtdfs=CountLenght("MSV-BD1.csv")/stringsdfs+1;//подсчет символов в одной строке первого потока
    int lenghthw=CountLenght("Kombi-31.csv")/stringshw+1;//подсчет символов в одной строке второго потока
    array<String^,2>^ basedfs;
    array<String^,2>^ basehw;
    basedfs=gcnew array<String^,2>(stringsdfs,lenghtdfs);
    basehw=gcnew array<String^,2>(stringshw,lenghthw);
}
Как теперь эти массивы заполнить данными из соответственно MSV-BD1 и Kombi-31?
В консоли использовал getline(dfs,basedfs[i][j],';'), здесь же данный метод плюется кучей ошибок.
Подскажите пожалуйста.

Добавлено через 21 час 23 минуты
Прочитал про класс StreamReader. Вроде разобрался
Для проверки попробовал вывести какой-нибудь элемент массива в textBox2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    setlocale(LC_ALL,"Russian");
    
    array<String^,2>^ basedfs;
    array<String^,2>^ basehw;
    basedfs=gcnew array<String^,2>(stringsdfs,lenghtdfs);
    basehw=gcnew array<String^,2>(stringshw,lenghthw);
    try 
    {
        StreamReader^ dfs=gcnew StreamReader("MSV-BD1.csv");
        for (int i=0;i<stringsdfs;i++){
            for(int j=0;j<lenghtdfs;j++){
                basedfs[i,j]=Convert::ToString(dfs->ReadLine()->Split(';'));
            }
        }
        delete dfs;
    }
    catch (...)
    {
        textBox1->Text="Файл не может быть открыт";
        
    }
    textBox2->Text=basedfs[3,7];
}
Но чето он у меня совсем не то выводит ))) Помогите пожалуйста
У меня файл условно формата примерно такого:
C++
1
2
3
day;year;1995;003Z4001
month;week;monday;0,65456
3562;0,00;asfsd;guy
нужно считать его в массив dfs[3,4]
Чтобы размерность массива определялась автоматически и память выделялась динамически я сделал
А вот как заполнить его правильно....
Помогите пожалуйста А то я чет
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.07.2015, 13:08
Ответы с готовыми решениями:

Как создать массив строк, считывая данные из файла (сортировка данных из файла)
Доброго времени суток мне нужно отсортировать по алфавиту слова , которые содержатся в файле #include &lt;iostream&gt; #include ...

Заполнить массив строк из файла. Массив заполняется, но выводится не корректно
Здравствуйте! Такая проблема. В файле имена записаны в столбик и разделены точкой с запятой. Массив заполняется, но выводится не корректно....

Записать массив строк в файл, а потом получить такой же массив из этого файла
Есть вот такой массив, который формируется из разных чтрок: string temp = {dateTimePicker1.Value.ToString(), gender, label6.Text}; ...

20
3 / 3 / 0
Регистрация: 18.12.2012
Сообщений: 49
22.07.2015, 16:40  [ТС]
Студворк — интернет-сервис помощи студентам
спасибо большое за ответы =) Буду разбираться дальше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.07.2015, 16:40

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

Переписать массив строк из файла в двумерный массив
Переписать массив строк из файла в двумерный массив типа CHAR &quot; char Map&quot; вот что получается, как сделать чтоб копировал строку в...

массив строк файла
open(HANDLE,&quot;&lt;sample.txt&quot;)||die($!); @arr = &lt;HANDLE&gt;; print $arr; arr - это массив, а к массиву можно обращаться по индексу....

Запись из файла в массив строк
Помогите пожалуйста! Необходимо организовать запись из файла в массив строк. А далее сравнить его с другим массивом

Массив чтения строк из файла
Есть код, рабочий, но он читает только одну строку, мне нужно что бы записывало все строки имеющиеся в файле. Массив есть, все в принципе...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru