Форум программистов, компьютерный форум CyberForum.ru

Как правильно использовать GetModuleFileName? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ SDL + C++ = Тормозит событие нажатия кнопки http://www.cyberforum.ru/cpp-beginners/thread953711.html
С помощью SDL создается поверхность. При нажатии на нее левой кнопкой мыши должно изменяться название окна программы, но оно изменяется не после первого нажатия, а после 4 - 6, всегда по разному. Почему так может быть? A.h - объявление класса А: #pragma once #include "SDL.h" class A{ public:
C++ Задача для начинающих. Нахождение дубликатов. Задача: Напишите программу, которая находит и отображает значения-дубликаты в 10-элементном массиве целочисленных значений (если таковые в нем присутствуют). Код: #include <iostream> #include <cstdlib> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread953698.html
Пустые конструкторы и деструкторы C++
Скажите, есть-ли смысл прописывать пустые конструкторы и деструкторы? C_MainClass() {} ~C_MainClass() {}
c++ доступ к protected свойствам C++
давайте рассмотрим доступ к protected свойствам и методам класса известно что напрямую их вызвать можно только внутри класса наследника, НО если нам вообще не нужен наследник. Просто надо считать или изменить protected свойство. воспользуемся следующим методом имеем 2 класса class abstractObject { public:
C++ Можно ли объявить глобальный константный заполненный std::vector ? http://www.cyberforum.ru/cpp-beginners/thread953661.html
Хотелось бы, чтоб был объявлен в глобальном пространстве уже заполненный константный статический вектор пар..
C++ Проверка строкового массива Добрый день, помогите, пожалуйста, разораться с проверкой условия: Имеем текстовый файл, содержащий следующие данные: "Right 3 1 Left 5 1" Строковый массив значения Right и Left принимает, но проверку проходит корректно только для первого элемента, Right (вывод на экран сообщения "Done!!!"). Не могу понять, почему не проходит проверку для второго элемента. #include "stdafx.h" #include... подробнее

Показать сообщение отдельно
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
13.03.2015, 21:55     Как правильно использовать GetModuleFileName?
Если подойти к этому ответственно, то это будет выглядеть примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <windows.h>
#include <cstdio>
 
char * get_module_file_name( HMODULE hModule = NULL ) {
    size_t size = 1;
    char * buffer;
    for ( ; ; ) {
        buffer = new char [size + 1];
        DWORD r = GetModuleFileName( hModule, buffer, size );
        if ( r < size && r != 0 ) break;
        if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) {
            delete buffer;
            size += 64;
        } else return NULL;
    }
    return buffer;
}
 
int main()
{
    char * mod_name = get_module_file_name();
    if ( mod_name ) {
        printf( "%s\n", mod_name );
    } else {
        printf( "get_module_file_name(): error\n" );
    }
    return 0;
}
 
Текущее время: 18:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru