Нужны названия функций

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Siend
Сообщения: 1
Зарегистрирован: 03 мар 2011, 18:59

язык С++ (желательно) или С;
нужны названия функций и принцип реализации для:
1.открытия текстового файла (на чтение / на чтение и запись)
2.копирования из него первых 300 символов в строку (строка произвольная)
3.посимвольной обработки строки (сравнивать символ с кодом таблицы ASCII)
4.удаление из строки ненужных символов
5.запись строки в файл (новый)
6.запись строки в файл (старый - перезапись всего файла)
7.освобождение памяти (везде где надо)

кроме самих названий и аргументов просьба разъяснить что сами аргументы означают, и какие библиотеки нужно подключить для той или иной функции. заранее огромнейшее спасибо)
Artur_87
Сообщения: 11
Зарегистрирован: 21 фев 2011, 11:55

1. Есть два варианта - либо использовать класс CFile (или наследуемый от него CStdioFile), либо использовать файловый ввод-вывод:
1)
#include "iostream.h"
....

CString m_Text; // строка-буфер
CFileDialog DlgOpen(TRUE,(LPCSTR)"txt",NULL,
OFN_HIDEREADONLY,(LPCSTR)" Text Files (*.txt) |*.txt||"); // это диалоговое окно для выбора файла

if(DlgOpen.DoModal()==IDOK) {
CStdioFile File(DlgOpen.GetPathName(),
CFile::modeRead|CFile::modeWrite|CFile::typeBinary|);
File.Read(m_Text, 300);
}

2)
#include "fstream.h"
.....
ifstream fin;
fin.open("c:\F.txt"); // указать путь к файлу

char buf[300]; // опять же буфер
fin.getline(buf, sizeof(buf));
fin.close();

2. см.выше
3. для сравнения символов можно использовать оператор условия if и логические операции == и !=.
4. если строка класса CString - то можно применить функцию Delete, например.
5,6 - то же самое, только файл(поток) надо открывать в режиме "для записи", а не "для чтения".
7. чтобы освободить память, надо либо удалить объект CFile, либо закрыть поток.
Ответить