‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы

—++ дл€ начинающих

¬ойти
–егистраци€
¬осстановить пароль
 
shinarthas
0 / 0 / 0
–егистраци€: 06.12.2013
—ообщений: 30
#1

ѕеревод из int в char* внутри функции работает, а если вернуть строку то нет - C++

22.12.2013, 00:01. ѕросмотров 359. ќтветов 1
ћетки нет (¬се метки)

Ќадо перевесит int в char* в методе класса, и вернуть char*.
ѕерепробовал кучу всего результат 1 и тот же.
boss.cpp
C++
1
2
3
4
5
6
7
8
9
char* boss::getitem()
{
    int radix = 10;  //система счислени€
    char buffer[20]; //результат
    char *p;  //указатель на результат
    p = itoa(podc,buffer,radix);
    //если тут будет cout все будет норм 
        return p;
}
фактически это гетер.

queue.cpp
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
void queue::save()
{
 
    int value;
    FILE *Ptr;
 
    Ptr=fopen("kadrs.txt","w");// что бы продолжать записть помен€ть w  на w+
    char danila[100];//куда ж без этого?
 
    if (    typeid(*data)==typeid(boss) )
        fprintf(Ptr,"%s","1");
    if (    typeid(*data)==typeid(engeneer) )
        fprintf(Ptr,"%s","0");
 
        fprintf(Ptr,"%s","\n");
        fprintf(Ptr,"%s",data->getitem());
        fprintf(Ptr,"%s","\n");
        strcpy( danila, (data->getname()).c_str()); //криво но мен€ть все долго
        fprintf(Ptr,"%s",danila);
        fprintf(Ptr,"%s","\n");
        fprintf(Ptr,"%d",data->getage());
        fprintf(Ptr,"%s","\n");
 
 
    fclose(Ptr);
 
}
“ут € использую абстрактные классы и хочу их записать в файл.
»тог если p=22;(до того как € его вернул), то в kadrs.txt нечего нет (речь о "p" а не о kadrs.txt в целом ).
Ќу или же p= ћћћШш ; если:

C++
1
2
3
4
5
6
7
char* boss::getitem()
{
    char a[10];
    int b = 12;
    *a = (char)podc;
    return a;
}
ƒобавлено через 5 минут
может кому пригодитс€
boss.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
using namespace std;
class boss : virtual public kadr
{    
    int podc; // людей в подчинении
    public:
        //конструкто и диструктор
        boss(){}
        boss ( int p,string n,int a):kadr(n,a)
    {
        podc=p;
    };
        ~boss();
        virtual void show();    
        virtual char* getitem();    
};
0
Ќадоела реклама? «арегистрируйтесь и она исчезнет полностью.
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
22.12.2013, 00:01
«дравствуйте! я подобрал дл€ вас темы с ответами на вопрос ѕеревод из int в char* внутри функции работает, а если вернуть строку то нет (C++):

ƒинамическое выделение пам€ти внутри функции (что вернуть из функции, если не удалось выделить пам€ть?) - C++
такое дело, есть функци€, котора€ выполн€ет некоторую операцию, функци€ при успешном выполнении должна вернуть 0, при ниудачном код...

–еализаци€ функции char *padl(const char *string, int len, int c=' ') - C++
–еализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

ѕеревод char в int - C++
ƒоброго времени суток. покопалс€ по схожим темам,но так и не нашЄл ответа. Ќа вводе с клвиатуры подаЄтс€ char-овский массив ссто€щийиз...

ѕеревод из int в char - C++
ѕытаюсь перевести число int в строку char. Ќа экран посто€нно выводит какие-то иероглифы. Ќе могли бы вы ќЅЏя—Ќ»“№ почему так?  од мое...

ѕеревод char в int - C++
ƒоброго времени суток, форумчане:senor:. Ќачинаю углубл€тьс€ с++ вместе с заданием по курсовой:) ѕроблема: »меетс€ структура, ...

ѕеревод *char в int[] c++ - C++
Ќужно перевести длинное число которое хранитс€ в виде &quot;+/-324354365654656&quot; в char* в массив int. Ќулевой элемент массива знак.  ак...

1
Tulosba
:)
Ёксперт —++
4397 / 3233 / 297
–егистраци€: 19.02.2013
—ообщений: 9,045
22.12.2013, 00:58 #2
shinarthas, возвращаетс€ указатель на локальный массив buffer, который будет уничтожен при выходе из функции getitem. Ћибо надо передавать в getitem ранее выделенный буфер, либо выдел€ть внутри getitem пам€ть динамически.
0
MoreAnswers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
22.12.2013, 00:58
ѕривет! ¬от еще темы с ответами:

ѕеревод из char в int - C++
ѕодскажите пожалуйста! ” мен€ имеетс€ массив символов, то бишь строка. я хочу преобразовывать каждый символ строки в int. Int k; ...

ѕеревод из char в int - C++
нужно перевести из char в int, способ перевода следующий: &quot;значение цифры равно значению ее символа в таблице символов компьютера...

ћассив char + перевод в int - C++
Ќужно создать цикл в котором при вводе с клавиатуры символа в 16ричной системе (0-F) это число: 1. ѕереводилось в 10-ю систему счислени€,...

ѕеревод массива из char в int - C++
есть массив символьного типа. нужно перевести его в тип int дл€ того, что бы далее производить над ним действи€ уже как с цифрами. как это...


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

»ли воспользуйтесь поиском по форуму:
2
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
–ейтинг@Mail.ru