|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.10.2009, 20:04 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как перадать в функцию строку?
Чтобы работало как
funcName(s); //где s - строка char[] так и funcName("asd"); ? |
23.10.2009, 20:08 | #2 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
так и передать
void func(const char &s[]) //func(char s) или func(char *s)... лучше но сложнее через указатель { cout<<s; retutn; } для "asd" обязательно const char &s[ ]
Моя работа - Создание сайтов
Последний раз редактировалось breate; 23.10.2009 в 20:09. Причина: уточнение |
23.10.2009, 20:12 | #3 | |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Я так и делаю с const'ом, но мне кажется это неправильно, я же не могу редактировать s =/
Добавлено: Да и так ругается =\ Какой прототип у Вашей функции? Если ставлю Код:
Цитата:
Последний раз редактировалось TwiX; 23.10.2009 в 20:16. |
|
23.10.2009, 20:18 | #4 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
определись что ты передаёшь! если тебе нужно изменять создай массив забей его чем тебе надо и изменяй в функции сколько влезет, а если ты хочешь передать "asd"
(func("asd")) это именно и есть const char ибо эта строка уже заложена в коде твоей программы и изменить ты её не можешь, то в функции обязательно должен быть const char!
Моя работа - Создание сайтов
|
23.10.2009, 20:20 | #5 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Сделал без конста:
Код:
|
23.10.2009, 20:22 | #6 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
лучше через указатель!
Моя работа - Создание сайтов
|
23.10.2009, 20:29 | #7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Чем лучше? Если я не ошибаюсь s[] - сюда передаётся указатель первого элемента =\
Пример тогда, с прототипом в студию, где в функцию передаётся строка, в ней изменяется, и на выходе остаётся изменённой - совсем не получается =\ Последний раз редактировалось TwiX; 23.10.2009 в 20:34. |
23.10.2009, 20:44 | #8 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
нет делается копия массива в стеке, причём массив статический а в *str действительно передаётся указатель на первый элемент
Моя работа - Создание сайтов
|
23.10.2009, 20:46 | #9 | |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Так можно ли увидеть
Цитата:
|
|
23.10.2009, 21:18 | #10 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
void func(char &a[]) ; или
char *a=new char [кол во элементов] voif func(char *a); - и строку меняешь как хочешь
Моя работа - Создание сайтов
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как автоматизировать функцию? | MilanAC | Помощь студентам | 2 | 13.08.2009 15:11 |
Как вызвать функцию? | blackstersl | Общие вопросы Delphi | 10 | 07.06.2009 19:22 |
Как при нажатии на строку в Listbox передавать нажатую строку в переменную | Михаил Юрьевич | Общие вопросы Delphi | 5 | 16.03.2009 12:59 |
оформить как функцию | arturka | Помощь студентам | 11 | 20.06.2008 23:41 |
Как создать обратную функцию, которая из уникального номера будет возвращать строку? | SkAndrew | Общие вопросы Delphi | 8 | 06.04.2008 21:10 |