Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Чтение из файла (MSDN)


Автор: EddieIrvine 13.9.2008, 17:47
Дан файл *.txt - содержит список строк из одного слова (список фамилий). Вопрос: как прочитать содержимое файла в массив строк?
Массив задан как:
List<String^>^ m1;
m1 = gcnew List<String^>();

Все дело осложняется тем, что это объявлено в классе формы, который ref: 
public ref class Form1 : public System::Windows::Forms::Form
(ну массив я объявляю в классе, а память выделяю уже в конструкторе)

Кучу способов перепробовал, многие (например, getline) не работали, т.к. из С++, а не C++/CLI. Что делать?

Автор: ИванМ 14.9.2008, 00:33
Попробуй сначала загрузить файл в строку:
Цитата

StreamReader^ sr = File::OpenText(filename)
String^ s = sr->ReadToEnd();

Типа того (я знаю как на C#, а на C++ не делал через управляемый код)

Потом с помощью String::Split разбей текст на массив String[]
Потом в цикле for добавляй поочередно элементы массива в List<String^>, который у тебя m1;

Если не понятно могу сам написать программу, потом тебе дать.

Автор: EddieIrvine 14.9.2008, 18:40
Проблема решена с помощью System::IO::File::ReadAllLines из файла в массив array<String^>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)