Шаг 1 - Создание и запись в ini файл секции
Создание проекта
Вы должны создать точно такой-же проект как в MFC по шагам , только тип должен быть Win32 Console. С поддержкой MFC как положенно. Win32 Console это имитация тестового режима в Windows, при изучении многих вопросов полезен , позволяет не думать о графическом интерфейсе.
Создаем код
Надо включить #include , там есть сслыка на необходимые функции.
#include "resource.h"
А вот и весь код.
void main()
{
WritePrivateProfileSection("MySection","","my.ini");
}
Описание
Функция записи в INI файл простая и реализаванна в WIN32 API а MFC естественно её использует. В параметрах указательна секцию , указатель на данные у нас "" ну и ладно, дальше имя INI файла. Если вы скомпилируете и запустите программу то в Вашем каталоге Windows (Windows 95) или Winnt (Windows NT) будет находиться файл my.ini с указанной секцией.
Данная функция имеет тип BOOL и возвращает успешность проведения операции.
Хотя использование INI файлов считаеться устаревшим, это удобнее чем править реестр и безопаснее.
Шаг 2 - Запись данных в секцию (31.08.99 - 1 Kb)
Создание проекта
Надо изменить всего одну строку.
void main()
{
WritePrivateProfileString("MySection","Name_autor",
"Artem","my.ini");
}
Описание
Пишем в готовый INI файл в созданую секцию. Параметры такие - Имя секции , имя ключа , значение , имя файла. Имя ключа будет использоваться для доступа к данным при чтении.
Структура INI файла
[Секция]
Ключ=Значение
Данная функция имеет тип BOOL и возвращает успешность проведения операции.
Результат работы в файле my.ini
[MySection]
Name_autor=Artem
Шаг 3 - Чтение данных
Первым обьявлением включаемых библиотек ставим включение библиотеки потока
#include "iostream.h"
......
Изменяем функцию main()
void main()
{
char lpReturnedString[100];
GetPrivateProfileString("MySection","Name_autor",
"not ready",lpReturnedString,99,"my.ini");
cout << lpReturnedString << endl;
int i;
cin >> i;
}
Описание
Мы добавляем библиотеку работы с потоком. Поток удобен для быстрого вывода и ввода данных. Достаточно знать несколько команд и нет необходимости разбираться в ключах команды printf.
cout << переменная - выводит на экран,
cin >> переменная - получает с клавиатуры.
Первой командой мы обьявляем массив символов с размером в 100. Размер специально сделан побольше , а вдруг строка будет длинная.
Функцией GetPrivateProfileString с именем по которому все понятно мы читаем данные из секции MySection, ключ Name_Autor , дальше пишется строка чем заполнить буфер в случае неудачи, сам буфер , количество считываемых символов, и имя INI файла.
Возвращаемое значени количество считанных символов , это значение нужное, но не в данном примере.
Последнии строки написаны чтобы задержать выполнение программы до ввода цифры и увидеть результат.