0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 5
1

GetPrivateProfileInt всегда возвращает ноль

13.04.2015, 11:44. Показов 1839. Ответов 7
Метки нет (Все метки)

Хотел считывать значение из INI-файла, но столкнулся с такой проблемой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
int value = 0;
value = GetPrivateProfileInt(NULL,"value",0,"setting.ini");
cout << value;
_getch();
return 0;
}
Всегда выводит 0
Вот так выглядит INI
C
1
value=10
В чем проблема?
P.S. Да, я знаю что есть boost и все дела, но я хочу знать почему не работает или это только у меня так?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2015, 11:44
Ответы с готовыми решениями:

fwrite, возвращает ноль, хотя...
FILE *h; if ((h = fopen(&quot;1.p&quot;, &quot;w&quot;)) == NULL) {printf(&quot;Can't create 1.p.\n&quot;);exit(1);} ...

in_avail() всегда возвращает 0.
#include &lt;c++/4.4/iostream&gt; #include &lt;c++/4.4/streambuf&gt; int main() { int i,k; ...

Функция min_element() возвращает указатель на ноль
Необходимо найти максимальный элемент среди минимальных в двумерном массиве. Сначала ищу...

Функция всегда возвращает true
Привет. Помогите разобраться. Морской бой. Функция для ввода второй клетки. Сама функция: bool...

7
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
13.04.2015, 12:16 2
1. Попробуй добавить секцию в инишник и в свой код первым параметром для GetPrivateProfileInt.
2. Попробуй указать полный путь к инишнику, может быть его просто не удается найти.
0
0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 5
13.04.2015, 13:19  [ТС] 3
Tulosba, все уже перепробовал
0
Ушел с форума
Эксперт С++
16449 / 7413 / 1186
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
13.04.2015, 14:00 4
Так пробуйте:
Код
[SomeSection]
value = 123
C++
1
int const Value = GetPrivateProfileIntW(L"SomeSection", L"Value", 0, L"Settings.ini");
Добавлено через 5 минут
Да, и без указания полного пути к файлу, как отметил Tulosba,
это все равно будет держаться на честном слове.
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 7
17.11.2015, 16:40 5
Убежденный, а если даже ваша конструкция не работает? Всё равно возвращает только тот параметр, который указан в nDefault.

C++
1
int const Value = GetPrivateProfileIntW(L"SomeSection", L"Value", 0, L"Settings.ini");
0
Ушел с форума
Эксперт С++
16449 / 7413 / 1186
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
17.11.2015, 16:57 6
Содержимое ini-файла бы глянуть...
0
Эксперт С++
4978 / 3085 / 456
Регистрация: 10.11.2010
Сообщений: 11,164
Записей в блоге: 10
17.11.2015, 16:58 7
Цитата Сообщение от Lazdakon Посмотреть сообщение
Убежденный, а если даже ваша конструкция не работает?
А если даже в твоём вопросе есть смысл?
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 7
17.11.2015, 17:20 8
Убежденный,

[GlobalSettings]
ServiceRunning=1

Всё-таки нужно было указать полный путь до файла, спасибо.
Но теперь другая проблема, как корректно передать параметр в lpFileName?

C++
1
2
3
TCHAR path[MAX_PATH];
GetCurrentDirectory(sizeof(path), path);
int const SRun = GetPrivateProfileIntW(L"GlobalSettings", L"ServiceRunning", SRun, path+"\\Config.ini");
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2015, 17:20
Помогаю со студенческими работами здесь

Бинарный поиск всегда возвращает (-1)
Всегда возвращает -1 #include &lt;iostream&gt; int binary(int* m, int n, int e) { int r =...

Почему функция всегда возвращает 0?
bool trie_tree::consonants_check(char letter) { return tolower(letter) == ('w' || 'r' || 't' ||...

Функция create_directories всегда возвращает false
Есть несколько папок, в которых формируются много файлов, необходимо переносить их на флешку....

Функция не находит в массиве элемент, всегда возвращает false
Привет. Создаю массив 10х10. Заполняю его '-', один элемент заменяю '#'; Функция bool должна...

При нахождении количества локальных максимумов в последовательности for_each возвращает ноль
Задание: Найти количество локальных максимумов в последовательности с помощью for_each. #include...

Ф-ия month всегда возвращает true, хотя так не должно быть
Ф-ия month всегда возвращает true, хотя так не должно быть. В этой ф-ии я должна либо ввести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru