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

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

¬ойти
–егистраци€
¬осстановить пароль
ƒругие темы раздела
C++ –асположить в пор€дке возрастани€ методом подсчета http://www.cyberforum.ru/cpp-beginners/thread1051406.html
ѕомогите написать код. ƒано двумерный массив целых чисел. ¬се элементы массива, при делении на 4 дают в остатке 2, расположить в пор€дке возрастани€ методом подсчета.
C++ —писки #include <iostream.h> #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> #include <iomanip.h> /*==========DANNIE PO AVTO_BAZE============*/ http://www.cyberforum.ru/cpp-beginners/thread1051401.html
 ак представить число в виде выражени€ с минимальным количеством символов? C++
ќграничение по времени: 1 секунда ќграничение по пам€ти: 64 MB ”чительница математики попросила школьников составить арифметическое выражение так, чтобы его значение было равно данному числу N, и...
подчеркивает зап€тую после 50, что это может быть? C++
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> #include "graphics.h" void main(void) { int rectangle(50,100,-50,-100); }
C++ –еализовать класс - "“роичный вектор" http://www.cyberforum.ru/cpp-beginners/thread1051354.html
«дравствуйте форумчане! ¬от задали задачу: –еализовать класс Ђ“роичный векторї Ц Tvector размерности n.  омпоненты вектора принимают значени€ из множества {0,1, X}. ƒва троичных вектора tk =...
C++ в чЄм ошибка и как ЄЄ исправить? a.get_cina = a.get_cina()*(1 + double(vids/100)); в чЄм ошибка и как ЄЄ исправить? подробнее

ѕоказать сообщение отдельно
shinarthas
0 / 0 / 0
–егистраци€: 06.12.2013
—ообщений: 30

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

22.12.2013, 00:01. ѕросмотров 356. ќтветов 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
Ќадоела реклама? «арегистрируйтесь и она исчезнет полностью.
 
 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
–ейтинг@Mail.ru