Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с strcat()

6.3K
11 августа 2004 года
triclosan
19 / / 11.08.2004
Приветствую участники!
Столкнулся с проблемкой:
Имеется char-овый массив - требуется брать нужные элементы массива и лепить из них строчки.

Как я это вижу:

 
Код:
char mas[128]="abcdef";
char a=mas[0];
char b=mas[1];
strcat(a,b);
cout <<a<<"\n";


OUT: my.cpp: error C2664: 'strcat' : cannot convert parameter 1 from 'char' to 'char *'
В ответ я изменил
 
Код:
char a=mas[0];
char b=mas[1];
на
 
Код:
char *a=&mas[0];
char *b=&mas[1];
- ошибка KERNEL32.DLL

Я начинающий и извиняюсь за невежества если такие имеют место. Если написанное выше полный бред подскажите иное решение моей задачи.

З.Ы. компилятор: VC++6
6.7K
11 августа 2004 года
TylerDurden
20 / / 26.07.2004
strcat ищет нулевой символ в a, находит его(a[6]) и заменяет его на 'b'(b[0]). Следующие байты копируются последовательно из b в a, пока в b не встретиться 0. А он и не встретиться, т.к. strcat первым делом его и затер....

a и b используют адреса mas, - это не есть хорошо,т.к. изменяя a или b, ты изменяешь mas. ВЫДЕЛЯЙ под указатели место, прежде чем их использовать, т.е.
char* a =new char[count];//count =кол-во символов

Я не совсем понял, что ты хочешь получить в итоге
a="ab" или a="abcdefbcdef":
char mas[128]="abcdef";
char a[128];

strcpy(a,mas);
strcat(a,&mas[1]);//a="abcdefbcdef".
//или
strncpy(a,mas,1);
a[1]=0;
strncat(a,&mas[1],1);//a="ab"
6.3K
11 августа 2004 года
triclosan
19 / / 11.08.2004
Спасибо, вроде понял. Сейчас попробую...


Цитата:

Я не совсем понял, что ты хочешь получить в итоге


на выходе - a="ab"

6.3K
11 августа 2004 года
triclosan
19 / / 11.08.2004
Все отлично работает!

Далее лепить строчку без проблем получается ("ab" -> "abd" к примеру) поскольку после первого выполнения strncat() нуль-символ автоматически дописывается:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог