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

возвращаю указатель на строку пишет кракозяблы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите, скомпилируйте и выполните программу, которая выводит перечень аргументов командной строки в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread835478.html
Задание Напишите, скомпилируйте и выполните программу, которая выводит перечень аргументов командной строки в обратном порядке. Доработайте программу так, чтобы второй цикл while выводил лесенку вида: * ** *** ****
C++ Почему нельзя так объявить двумерный массив? Ошибка возникает если для массива tempArray при объявлении(и одновременной инициализации) использовать переменную(size) которую принимает функция. Если массив не инициализировать(или использовать при обьявлении цифру вместо переменной) то ошибки нету. ~$ g++ main.cpp main.cpp: В функции «void bucketSort(unsigned int*, int)»: main.cpp:49:39: ошибка: инициализация объекта «tempArray»... http://www.cyberforum.ru/cpp-beginners/thread835458.html
C++ Проблемы с классами при поиске обратной матрицы
Доброго времени суток! Задача такова. Необходимо создать класс, который создавал бы матрицу заданного размера (квадратную), рассчитывал её определитель и находил обратную матрицу. Нашёл необходимые функции здесь и вот здесь. После того, как вставил код в описание класса, обратная матрица стала рассчитываться некорректно. Тестировал на матрице размером 3х3. Последний столбец рассчитывается...
'лементарная графика в dev cpp C++
Подскажите как поменять цвет(заливку, а не контур(линию)) квадрата (вписанного в окружность-вдруг это важно)с использованием graphics.h (среда- dev cpp)?
C++ Изменение части текста http://www.cyberforum.ru/cpp-beginners/thread835423.html
Здравствуйте, кто-нибудь знает с помощью какого инструмента в Windows Form Application (Label, TextBox и т.д.) можно обеспечить изменение цвета, или какое либо другое форматирование только части текста (одного символа, или слова). и как это можно сделать.. Заранее спасибо!)
C++ Ошибка после закрытия формы Как можно избавиться от этой ошибки? подробнее

Показать сообщение отдельно
freeax
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 136
15.04.2013, 11:44  [ТС]     возвращаю указатель на строку пишет кракозяблы
Здравствуйте!
Решил выбросить код, который определяет модемы, в длл (MSVS 2010). При вызове функции из длл в ansi c выводит кракозяблы

Кликните здесь для просмотра всего текста

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
// stdafx.h
...
typedef struct {
   char name[1024];
   char port[6];
} ModemType, *pModemType;
...
#define MYAPI extern "C" __declspec(dllexport)
...
MYAPI int GetModems(ModemType *, unsigned int *);
 
// dll3.cpp
 
...
int GetModems(ModemType *pModems, unsigned int *num) {
    CTAPIApp app;
 
    app.InitModems();
    *num = app.m_modems.size();
 
    for (unsigned int i = 0; i < *num; i++) {
        OemToCharA(app.m_modems[i].m_lineName.c_str(), pModems->name);
        OemToCharA(app.m_modems[i].GetPort().c_str(), pModems->port);
        pModems++;
    }
 
    return (*num);
}


вызов си

Кликните здесь для просмотра всего текста

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
...
ModemType modems[1024];
pModemType pModems;
...
unsigned int num;
typedef int (__cdecl* PfnGetModems)(ModemType *, unsigned int *);
 
int main (int argc, char *argv[]) {  
 
    HINSTANCE hGetProcIDDLL = LoadLibrary("dll3.dll");
    if (hGetProcIDDLL == NULL) {
        MessageBox(NULL,"Error load dll","DLL Error",MB_OK | MB_ICONERROR);
        return EXIT_FAILURE;
    }
 
    PfnGetModems myDllGetModems = (PfnGetModems)GetProcAddress(hGetProcIDDLL, "GetModems"); 
 
    if (!myDllGetModems) {
        MessageBox(NULL,"Error load GetModems()","DLL Error",MB_OK | MB_ICONERROR);     
        return EXIT_FAILURE;
    }
 
    myDllGetModems(modems, &num);
    pModems = modems;   
    printf("%s - %s\n", pModems->name, pModems->port);
 
...


Подскажите где проблема
Заранее благодарен!

Для справки, unsigned int num возвращается как надо. А вот в pModems->name и pModems->port мусор какой-то
Подскажите пожалуйста!!
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru