Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Текстовый файл и построчная обработка

76K
12 марта 2012 года
Windspirittt
13 / / 03.03.2012
Цитата:
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ ) {StreamReader^ sr = gcnew StreamReader("D:\TEST.txt",System::Text::Encoding::Default); String^ line;
line = sr->TextReader::ReadLine();


Имеем текстовый файл TEST.txt. Вышеуказанным способом читается строка из файла, анализируется ее содержимое и либо выводится в textBox1 (например вопрос анкеты)

Цитата:
textBox1->Text += line + Environment::NewLine;



, либо (по метке, например * * *, означающей конец вопроса) проверяется действие пользователя и требуется нажать, например button2. Так вот как это все грамотно сделать? В плане запихнуть ли всю обработку в Form1, или вынести в main и для каждого нового вопроса снова создавать Form1? Посоветуйте пожалуйста. Был у меня еще вариант считать целиком весь файл в безразмерный массив и оттуда в цикле построчно читать и анализировать строки... Но так и не нашел как это сделать для строк типа String^. С уважением, Евгений.

316
12 марта 2012 года
Alm3n
889 / / 29.05.2009
Сумбурно и не понятно.
Цитата:
в безразмерный массив


Улыбнуло.

76K
12 марта 2012 года
Windspirittt
13 / / 03.03.2012
Ок. Если короче, надо сделать массив:
1 Строка№1
2 Строка№2
....
N Строка№N
Строки читаются из файла TEST.TXT с использованием StreamReader и TextReader::ReadLine();
N изначально не задано и зависит от файла TEST.TXT.

Все эти действия происходят по нажатии кнопки Button3....
Если еще короче, то "хочу чтобы я нажал на экране кнопочку, а потом нажал другую и у меня вывелась бы в textBox , например, третья строчка текстового файла"
316
12 марта 2012 года
Alm3n
889 / / 29.05.2009
Понятно. А если ещё короче, то тебе нужен код, да?
76K
12 марта 2012 года
Windspirittt
13 / / 03.03.2012
не флуди. нужен пример организации такого массива в vс++ или информация как это сделать. задачу описал чтобы было понятнее,что хочу,а не чтобы решать за меня.ясно?)
76K
12 марта 2012 года
Windspirittt
13 / / 03.03.2012
не флуди. нужен пример организации такого массива в vс++ или информация как это сделать. задачу описал чтобы было понятнее,что хочу,а не чтобы решать за меня.ясно?)
76K
12 марта 2012 года
Windspirittt
13 / / 03.03.2012
не флуди. нужен пример организации такого массива в vс++ или информация как это сделать. задачу описал чтобы было понятнее,что хочу,а не чтобы решать за меня.ясно?)
316
12 марта 2012 года
Alm3n
889 / / 29.05.2009
Чем вектор не подходит?
76K
13 марта 2012 года
Windspirittt
13 / / 03.03.2012
Не знаю, что именно вы имеете в виду.
79K
14 марта 2012 года
FIRON
17 / / 13.03.2012
Что-то вроде этого? Button1 - читает все строки из файла в вектор. Button2 - выводит последовательно строки из вектора в Edit1
Код:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
//...
unsigned int count = 0; // счетчик для вывода строк из вектора в Edit
vector <string> v; // собсно сам вектор
//...
void __fastcall TSDIAppForm::Button1Click(TObject *Sender)
{
    ifstream in("in.txt",ios::in);
    while(!in.eof())
    {
        char * tmp = new char [1024];
        string tmpstr;
        in.getline(tmp,1024,'\n');
        tmpstr.append(tmp);
        v.push_back(tmpstr); // добавляет tmpstr в конец вектора
    }
}
//...
void __fastcall TSDIAppForm::Button2Click(TObject *Sender) // по кругу выводит последовательно строки из вектора в Edit
{
    if(count < v.size())
    {
        Edit1->Text = (UnicodeString)v[count].c_str();
        count++;
    }
    else
        count = 0;
}

Не во вред будет посмотреть что-нибудь вроде :
http://ru.wikipedia.org/wiki/Vector_(C%2B%2B)
http://www.cppreference.com/wiki/ru/container/vector/start
76K
14 марта 2012 года
Windspirittt
13 / / 03.03.2012
во, здорово, именно то, что мне требуется , спасибо)
Извините, просто весь объем библиотек и классов тяжело одним махом освоить) тут подсказки, в каком направлении копать - просто неоценимы)
Еще раз спасибо)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог