Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 18:54   #1
Sprocket
 
Регистрация: 15.11.2011
Сообщений: 6
По умолчанию GetPrivateProfileString

Доброе время суток. Я здесь новичок поэтому не судите строго.
По быстрому введу в курс дела : делаю обработчик *.ini файлов.Возникла проблема с API функицией винды :

DWORD WINAPI GetPrivateProfileString(
__in LPCTSTR lpAppName,
__in LPCTSTR lpKeyName,
__in LPCTSTR lpDefault,
__out LPTSTR lpReturnedString,
__in DWORD nSize,
__in LPCTSTR lpFileName
);

lpAppName — имя секции, в которой находится считываемй ключ. Если в качестве этого параметра передать NULL, функция вернет список всех секций в указанном INI-файле
lpKeyName — имя ключа, чье значение нужно считать. Если в качестве параметра передать NULL, то функция, по аналогии с секциями, вернет имена всех ключей в секции.
lpDefault — строка по умолчанию. Если в указанном INI-файле ключ lpKeyName не найден, то функция вернет это значение.
lpReturnedString — буфер, в который будут записаны возвращаемые функцией данные
lpFileName — имя считываемого INI-файла.

Как видно из описания ( на мсдн написано тоже самое) функция должна возвращать список всех секций в указанном INI-файле если lpAppName равно NULL. Так же должна возвращать список всех ключей в секции если аргумент lpKeyName - NULL.

А проблема собственно в том, что функция возвращает только 1ую секцию и 1ый ключ, если соответственный аргумент - NULL.

Пожалуйста помогите. Заранее спасибо
Sprocket вне форума Ответить с цитированием
Старый 15.11.2011, 21:08   #2
Sprocket
 
Регистрация: 15.11.2011
Сообщений: 6
По умолчанию

Причина обнаружена, функция возвращает нужное количество символов. А вот отображение идёт неправильно. вывожу через объект wcout подскажите пожалуйста почему может быть неправильно
Sprocket вне форума Ответить с цитированием
Старый 15.11.2011, 21:20   #3
Sprocket
 
Регистрация: 15.11.2011
Сообщений: 6
По умолчанию

Вообщем проблему решил. ПРоблема была в том что объект wcout который должен выводить юникодовые строки, почему то не выводит нужный массив символов, а проблема решилась ручным посимвольным выводом через цикл. В

Всем спасибо =)
Sprocket вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц