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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
#1

Передать строку через функцию. - C++

09.05.2010, 11:55. Просмотров 1265. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
#pragma once
class User
{
private:
    char *Surname;
public:
    User(void);
    char SurnameReturn();
}
C++
1
2
3
4
5
6
7
8
9
#include "User.h"
 
User::User(void)
{
}
 
char User::SurnameReturn(){
    return *Surname;
}
Проблема в том, что возвращается только 1 символ,а не вся строка. Как это лучше всего избежать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2010, 11:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передать строку через функцию. (C++):

Как передать строку в функцию? - C++
Я плохо засвоил тему об указателях, и теперь мучаюсь. В мейне надо ввести какую нибуть строку(char), потом вызвать некую функцию в которую...

Как передать в функцию строку и инициализировать ею структуру? - C++
#include <iostream> using namespace std; struct bar { char name; double ves; int kollors; }; void funk(bar& konf, char...

Как передать заданную строку матрицы в функцию? - C++
есть массив и из него надо взять определенную строку состоящей из неизвестного количества элементов и поместить в отдельную функцию. знаю,...

Как передать адрес объекта через функцию - C++
Здравствуйте! Надеюсь я правильно сформулировал вопрос, хотелось бы узнать как такое реализовать: //Есть функция с таким типом...

Как передать указатель на функцию через метод класса ? - C++
typedef void (*FuncCallback)(float* flValue); Пробовал по всякому и ни как: Class.CallFunc // error C3867: CClass::CallFunc :...

Необходимо передать аргумент виртуальной машине через командную строку - C++
Добрый вечер, не знал куда кинуть эту тему, поэтому она здесь. Есть задача запустить виртуальную машину и провести тестирование. В сэмплах...

5
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
09.05.2010, 11:58 #2
Возможно я не прав, но Surname у вас объявлена как char, то есть символ, вот он и передает его.
0
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
09.05.2010, 13:05  [ТС] #3
Цитата Сообщение от neske Посмотреть сообщение
Возможно я не прав, но Surname у вас объявлена как char, то есть символ, вот он и передает его.
это динамический массив символов, внутри класса он выводит полную строку, а вот передаёт только 1 символ.

Добавлено через 1 час 0 минут
есть мысли у кого?
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 13:17 #4
C++
1
2
3
char* User::SurnameReturn(){
        return Surname;       //возвращаем адрес на начало строкового буфера.
}
Пример использования:
C++
1
2
3
4
5
6
int main(){
User obj;
char * ptr = obj.SurnameReturn();
//указатель ptr теперь можно использовать для работы со всей строкой.
return 0;
}
1
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
09.05.2010, 18:56  [ТС] #5
Спасибо, работает.
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 18:59 #6
Лучше уж тогда определить оператор преоразования к char *.
0
09.05.2010, 18:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2010, 18:59
Привет! Вот еще темы с ответами:

Можно ли передать в функцию две переменных через 1 какую-нибудь конструкцию? - C++
Можно ли передать в функцию две переменных через 1 конструкцию чтобы вместо этого int a=5; int b=10; Func (a,b); ...

Передать через указатель строку используя STL, и конвертировать все символы в прописные - C++
не получаеться сделать так string & n_propis(string & mas); что бы аргумент принемал указаль на строку #include <iostream> ...

В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель - C++
Друзья! Всем привет. Вот код: class otets { public: void f (void (otets::*p)()); private: void echo_f (){}; ...

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла - C++
задача: передать динамический массив в функцию, и записать в каждый элемент строку из файла. количество строк известно вот что у меня...


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

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

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