Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как соединить char x[j] + char y[i] ??? -как эффективно-- 
V
    Опции темы
Syberex
Дата 29.3.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 15.9.2006
Где: Украина

Репутация: нет
Всего: нет



в общем есть такое 

Код

char[50]="hhhhhhhhh";
char[80]="jjjjjjjj";


как мне соединить их вместе? чтоб было hhhhhhhhhjjjjjjjj, т.е соединить и данные занести либо в char[ i],т.е заранее определённого рамера , либо динамически new x[y];

как? 
--------------------
whole power in artificial intelligences
PM MAIL ICQ   Вверх
Partizan
Дата 29.3.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



Код

strcat()



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
JackYF
Дата 29.3.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



мдя. Ну несколько раз уже было:

Код

char a[50]="hhhhhhhhh";
char b[80]="jjjjjjjj";

char* с = new char[50+80+1];
strcpy(c, a);
strcat(c, b);


А вообще не 50 и 80, а константы нужно указывать smile.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Syberex
Дата 29.3.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 15.9.2006
Где: Украина

Репутация: нет
Всего: нет



супер, всё работает, сенкс  smile 
--------------------
whole power in artificial intelligences
PM MAIL ICQ   Вверх
JAnty
  Дата 29.3.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Код

char a[50]="hhhhhhhhh";
char b[80]="jjjjjjjj";
char *c;
c=strcat(a,b);


c=hhhhhhhhhjjjjjjjj


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
Partizan
Дата 29.3.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



Цитата(JAnty @ 29.3.2007,  15:11)
Код

char a[50]="hhhhhhhhh";
char b[80]="jjjjjjjj";
char *c;
c=strcat(a,b);


c=hhhhhhhhhjjjjjjjj

неправильный ваш код...
ибо вполне вероятно что в итоге такой операции мы получим переполнение в char a[50]


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
JAnty
  Дата 29.3.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Цитата(Partizan @  29.3.2007,  15:16 Найти цитируемый пост)
ибо вполне вероятно что в итоге такой операции мы получим переполнение в char a[50] 


А ведь правдо.  smile

Добавлено через 6 минут и 22 секунды
Проверил так:
Код

char a[2]="hh";
char b[80]="jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj";
char *c;
c=strcat(a,b);


printf выдал hhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

Ничо не переполнилось.  smile 


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
Goryachev
Дата 29.3.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 23.2.2005
Где: Израиль

Репутация: нет
Всего: нет



JAnty, в этом случае может нет side effects , но будет случай, в котором прога вылетит.
PM MAIL   Вверх
Dov
Дата 29.3.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 15
Всего: 88



Цитата(JackYF @  29.3.2007,  14:02 Найти цитируемый пост)
А вообще не 50 и 80, а константы нужно указывать 

В данном случае, по-моему, вообще ничего не нужно  указывать, равно как и заморачиваться с динамическим массивом. Просто нужно объявить массив размером a + b и всё.
Так, например:
Код

char a[]="hhhhhhhhh";
char b[]="jjjjjjjj";
char с[sizeof(a) + sizeof(b)];
strcat(strcpy(c, a), b);
 
Ну, или что-то в этом роде.  smile 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Fazil6
Дата 29.3.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(JAnty @  29.3.2007,  15:20 Найти цитируемый пост)
Ничо не переполнилось. 

 smile 
и на основании чего ты сделал такой вывод?
PM MAIL   Вверх
Dov
Дата 29.3.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 15
Всего: 88



JAnty, уже здесь ты вышел за пределы массива, а твой компилятор об этом даже не догадался  smile 
Цитата(JAnty @  29.3.2007,  14:20 Найти цитируемый пост)
char a[2]="hh";




--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
apook
Дата 29.3.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



Цитата

JAnty, уже здесь ты вышел за пределы массива, а твой компилятор об этом даже не догадался
Цитата

char a[2]="hh";
   

никто не вышел  smile 



--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
Dov
Дата 29.3.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 15
Всего: 88



Цитата(apook @  29.3.2007,  16:13 Найти цитируемый пост)
никто не вышел   


apook,  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
JAnty
  Дата 29.3.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Цитата(Dov @  29.3.2007,  17:05 Найти цитируемый пост)
JAnty, уже здесь ты вышел за пределы массива, а твой компилятор об этом даже не догадался   


Теоретически. Конец строки добавляется сам после массива.
В Билдере написал:
Код

 char a[2];
 a[0]='q';
 a[1]='w';
 a[2]='e';
 a[3]='r';
 Form1->Caption=a;

 smile 
Даже варнинга небыло. smile  (Непешите так проги.)


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
Partizan
Дата 29.3.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



JAnty, тебе просто повезло)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.