Структуры данных

Примеры записи и чтения из файла

 

Приведем фрагменты кода, в которых демонстрируется использование стандартных диалоговых панелей выбора файла и процедуры чтения и записи в файл.

 

Открытие файла и чтение из него

CString m_Text; :: // создание стандартной панели

выбора файла Open

CFileDialog DlgOpen(TRUE,(LPCSTR)"txt",NULL,

OFN_HIDEREADONLY,(LPCSTR)"

Text Files (*.txt) |*.txt||");

// отображение стандартной панели выбора файла Open

if(DlgOpen.DoModal()==IDOK) {

// создание объекта и открытие файла для чтения

CStdioFile File(DlgOpen.GetPathName(),

CFile::modeRead|CFile::typeBinary);

// чтение из файла строки

CString& ref=m_Text; File.ReadString(ref);

// передается ссылка на строку m_Text

}

 

Здесь находится рабочий код программы, выполненной для простоты в виде консольного приложения под MFC. Чтобы программа работала, не забудте сделать следующее:

 

Запустите программу - Build / Rebuild all ( будут ошибки ), выберите Build / Set active configuration - Win 32 Realise, выберите пункт меню "Project", далее "Settings...", закладку "C/C++", Category - Code Generation и в пункте "Use run-time library" выберите "Multithreaded". После этого сделайте опять Build / Rebuild all и программа будет работать.

 

 

Открытие файла и запись из него

CString m_Text; :: // создание стандартной панели

выбора файла SaveAs

CFileDialog DlgSaveAs(FALSE,(LPCSTR)"txt",NULL,

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,

(LPCSTR)" Text Files (*.txt) |*.txt||");

// отображение стандартной панели выбора

файла SaveAs

if(DlgSaveAs.DoModal()==IDOK) {

// создание объекта и открытие файла для записи

CStdioFile File(DlgSaveAs.GetPathName(),

CFile::modeCreate|CFile::modeWrite|

CFile::typeBinary);

// запись в файл строки

File.WriteString((LPCTSTR)m_Text); }

Здесь находится рабочий код программы, выполненной для простоты в виде консольного приложения под MFC. Чтобы программа работала, не забудте сделать следующее:

 

Запустите программу - Build / Rebuild all ( будут ошибки ), выберите Build / Set active configuration - Win 32 Realise, выберите пункт меню "Project", далее "Settings...", закладку "C/C++", Category - Code Generation и в пункте "Use run-time library" выберите "Multithreaded". После этого сделайте опять Build / Rebuild all и программа будет работать.

 

Конспект лекций

Лекция 13 - 14

Древовидные структуры данных

 

Научный редактор доц., д-р техн. наук Л.Г. Доросинский

 

 

Екатеринбург

 

Содержание

 

1. Деревья. 3

1.1. Бинарные деревья. 6

1.2. “Прошитые” деревья. 8

1.3. Графы.. 8

2. Алгоритмы поиска путей в графе. 12

2.3. Путь минимальной суммарной длины во взвешенном графе с произвольными весами для всех пар вершин (алгоритм Флойда) 15

2.4. Нахождение K путей минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Йена) 16