Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/54: Рейтинг темы: голосов - 54, средняя оценка - 4.91
2 / 2 / 2
Регистрация: 16.10.2011
Сообщений: 179
1

Очистить переменную типа char *

19.07.2012, 11:45. Просмотров 9980. Ответов 2
Метки нет (Все метки)

Привет. Тупит код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char *rt;
int port=4;
 
rt="COM";
char temp1[10]; //временная перем.
 
strcat(rt,itoa(port,temp1,10));
 
if (SetupUart(rt,9600,8,1,NOPARITY))
{Label1->Caption=rt; Button1->Enabled=false;}
 
memset(temp1,0,sizeof(temp1));
 
Label1->Caption=rt;
После пары раз прогона кода вместо "COM4" начинается добавление "4" вконец строки. Как очистить переменную *rt?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2012, 11:45
Ответы с готовыми решениями:

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int?
Пожалуйста, напомните стандартную функцию

Не могу обнулить переменную типа char
Доброго времени суток, помогите обнулить переменную, т.к. мой компилятор ругается "E2277 Lvalue...

Как сравнить переменную типа char
нужно найти элементы типа char различные от нуля, программу я написал, а вот не получается...

Занести число в переменную, типа char
char a; cin>>a; a=3; Тут при чтении с клавы мы считываем символ , т.е. если я введу 3, то а...

2
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
19.07.2012, 12:08 2
mappy89, выражение

Цитата Сообщение от mappy89 Посмотреть сообщение
rt="COM";
присваивает rt адрес строки "COM", которая является константой.

Далее

Цитата Сообщение от mappy89 Посмотреть сообщение
strcat(rt,itoa(port,temp1,10));
strcat пишет в эту константу. Так нельзя. Создайте отдельный массив char, причём с тем размером, чтобы туда т очно поместилась ожидаемая результирующая строка, в нём и кувыркайтесь. А константы не трогайте, они вам ничего не сделали :-)

Кроме того, это похоже на билдеровский код. В vcl, если мне не изменяет склероз, есть такая замечательная штука, как IntToString. Поищите в хелпе.
0
Эксперт С++
4251 / 2225 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
19.07.2012, 12:14 3
Цитата Сообщение от mappy89 Посмотреть сообщение
Как очистить переменную *rt?
Вам надо очистить переменную temp1:
C
1
*temp1 = '\0';
А c rt все проще. Пишите rt = "...", каждый раз rt будет иметь адрес соответствующей константы из области памяти read-only
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2012, 12:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Передать переменную типа char по ссылке
доброго времени суток. помогите над очень простым задание из одной книги. Создайте функцию,...

Ввод символов в переменную типа char
Почему после ввода больше 1-го символа выбивает default? #include <iostream> #include <conio.h>...

Как вернуть переменную типа char * из функции
Как вернуть переменную типа char * из функции в которую передаю string??? Вот моя функция: char...

Вывести с помощью printf переменную типа char*
Добрый день! Подскажите: есть переменная "message" типа char* Если пишу: printf("\n%*d %c ",...


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

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

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