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

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

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

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

09.05.2010, 11:55. Просмотров 1240. Ответов 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 символ,а не вся строка. Как это лучше всего избежать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2010, 11:55     Передать строку через функцию.
Посмотрите здесь:

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

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

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

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

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

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

В функцию с переменным числом параметроы передать указатели на функцию - C++
Добрый вечер. По заданию нужно в функцию с переменным числом параметров передать имя функций, которые нужно вызвать. Долго думала,как имея...

Не могу передать функцию в функцию - C++
в строке 39 пишет, необъявленный индетификатор (number), почему, что я сделал не так? смысл рекурсивной функции, сначала она выполняет...

Как передать функцию в функцию? - C++
void MainWindow::_createTextEdit(QWidget *tab, QString text, void (*saveSlot)()) { ... connect(save, SIGNAL(clicked()), this,...

Разработать и испытать функцию, которая переворачивает строку и возвращает указатель на перевёрнутую строку - C++
Разработать и испытать функцию, которая переворачивает строку и возвращает указатель на перевёрнутую строку. Прототип функции инверсии...

Написать функцию которая копирует строку S1 в строку S2 N раз, без использования Strcopy - C++
Написать функцию которая копирует строку S1 в строку S2 N раз, без использования Strcopy

Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В - C++
Помогите с задачей, пожалуйста. Даны строки А и В. Напишите функцию, которая определяет, можно ли из символов, входящих в А, составить...


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

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

Добавлено через 1 час 0 минут
есть мысли у кого?
Genius Ignat
1235 / 773 / 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;
}
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
09.05.2010, 18:56  [ТС]     Передать строку через функцию. #5
Спасибо, работает.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 18:59     Передать строку через функцию. #6
Лучше уж тогда определить оператор преоразования к char *.
Yandex
Объявления
09.05.2010, 18:59     Передать строку через функцию.
Ответ Создать тему
Опции темы

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