Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 7
1

Изменение char в функции

25.03.2019, 00:55. Показов 2771. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять в чем разница строчки varian1 и varian2?

первый это передаем сам массив из char, принимаем и заполняем
второй вариант передаем ссылку на первый элемент массива и так же заполняем его знаками '_'

Я правильно понимаю?


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void somefunc(char *txt){
        for(int i=0; i<6;i++){
            txt[i]='_';
        }
}
 
int main()
{
    char txt[7]={0};
    somefunc(txt);       // variant 1
        somefunc(&txt[0]); // variant 2
 
    
    getchar();
    return 0;
}
И как сделать тоже самое, только если строка задается через указатель

C++ (Qt)
1
char *txt="Hello";
в данном случае не получается уже изменить эту строчку с использованием этой же функции. Почему? чего-то не понимаю похоже
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2019, 00:55
Ответы с готовыми решениями:

Различное поведение функции которая копирует строки с char* t и char t[]
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в...

Реализация функции char *padl(const char *string, int len, int c=' ')
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо...

Проблема с char**. Все элементы char** после выполнения функции приобретают одно и то же значение
Суть такая: сначала найти в введенной строке подстроку &quot;\ &quot; (например, &quot;mkdir my\ dir&quot;), и зменить...

Изменение регистра char
Не получается изменить регистр символов элементов массива? где мой недочет?

7
6105 / 3460 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
25.03.2019, 01:03 2
Цитата Сообщение от ijah Посмотреть сообщение
Я правильно понимаю?
Правильно, это одно и то же

Цитата Сообщение от ijah Посмотреть сообщение
char *txt="Hello";
Не знаю как там у вас в Qt, но у меня такое даже не скомпилируется.(потому что нужен const char*)
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 7
25.03.2019, 01:06  [ТС] 3
мм, у меня Visual Studio компилирует.
0
6105 / 3460 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
25.03.2019, 01:08 4
Цитата Сообщение от ijah Посмотреть сообщение
у меня Visual Studio компилирует.
ну значит он неявно преобразет txt в const char*
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 7
25.03.2019, 01:22  [ТС] 5
т.е. в таком случае эту переменную txt уже не изменить как это делалось функцией выше?
0
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
25.03.2019, 01:32 6
Цитата Сообщение от ijah Посмотреть сообщение
уже не изменить как это делалось функцией выше?
Нет, т.к. Вы хотите изменить строковый литерал, который в свою очередь RO.
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.03.2019, 03:50 7
Цитата Сообщение от ijah Посмотреть сообщение
первый это передаем сам массив из char, принимаем и заполняем
второй вариант передаем ссылку на первый элемент массива и так же заполняем его знаками '_'
Я правильно понимаю?
В обоих случаях передаётся указатель, с адресом начала массива (адрес нулевого элемента).
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 7
25.03.2019, 17:29  [ТС] 8
Спасибо. Почитал про строковые литералы и про рид онли. Стало намного понятнее.
0
25.03.2019, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2019, 17:29
Помогаю со студенческими работами здесь

Изменение списка char
Здравствуйте. Возникла такая проблема. Необходимо извлеч часть строки, кроме последних символов....

Изменение длины char* строки
Нужно в функции что-то навроде этого: char * foo(char *s1, char *s2) { /* в s1 записать...

Изменение типа данных (Integer в Char)
опять я. есть таблица carta, где id имеет тип integer. Хочу преобразовать в char. Вот-так. Но...

Изменение регистра символа переменной Char
Добрый день. Подскажите пожалуйста, возможно ли менять регистр символа (буквы) записанной в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru