Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/120: Рейтинг темы: голосов - 120, средняя оценка - 4.99
0 / 0 / 1
Регистрация: 19.05.2010
Сообщений: 30
1

объединение строк

25.08.2010, 11:18. Показов 22058. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите, пожалуйста.. у меня есть несколько строк..как их объединить в одну ???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2010, 11:18
Ответы с готовыми решениями:

Объединение строк в одну
Приветствую всех. Ребята кто в курсе подскажите как объеденить строки в ListBox . Например есть 4...

Объединение строк
3 день как начал изучать программирование под андроид. Скачал книжку Брайн Харди, Билл Филлипс -...

Объединение строк
Для работы со строками можно придумать множество полезных методов (подумайте, какие методы...

Объединение строк
Составить программу, которая запрашивает отдельно имя и фамилию, а затем выводит их как одну...

8
Эксперт С++
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
25.08.2010, 11:20 2
Jlu, вы бы хоть указали тип "строковых массивов"...

Если тип char, то для конкатенации можно использовать функцию strcat.
Если класс типа String, AnsiString, UnicodeString, std::string - то можно использовать оператор +.
1
0 / 0 / 1
Регистрация: 19.05.2010
Сообщений: 30
25.08.2010, 11:50  [ТС] 3
Char , а можно с примером ??
0
Эксперт С++
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
25.08.2010, 12:00 4
Jlu, можно. Вот вам несложный пример:
C++
1
2
3
4
5
6
7
8
9
char str1[] = "Hello ";
char str2[] = "World ";
char str3[] = "!!!";
 
char full[20] = { NULL };
 
strcat(full, str1);
strcat(full, str2);
strcat(full, str3);
0
0 / 0 / 1
Регистрация: 19.05.2010
Сообщений: 30
26.08.2010, 10:49  [ТС] 5
попробовала этот способ, не получается..либо выдает какой-то мусор вначале, либо ваще не хочет работать
0
Покинул форум
3187 / 1366 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
26.08.2010, 10:52 6
Jlu, код, который не работает идентичен тому, что предложил MikeSoft или же код ваш, самописный. Если второе, то покажите его.
0
0 / 0 / 1
Регистрация: 19.05.2010
Сообщений: 30
26.08.2010, 11:07  [ТС] 7
мой , самописный....
приведу функцию... в которой используются эти переменные...они определены за пределами функции и вызываются в ней


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
int TMSir(char *tms_shift_ir,char *tms_dr_idvirtex, char *tms_dr_cpld,char *tms_irtodr_,char *tms_shift_virtex,
          char *tms_shift_cpld,char *tms_dr,char *tms_ir, int TMS, unsigned char  *arrtms) //
{       
        
        int arrsize;
        int i,c,j=0;
 
 
    /* вот так выглядят определения в main  для этой функции
    char  tms_shift_ir[] =     "11111111110011110000",
              tms_dr_idvirtex[] =  "0000000000000000000000000000000000000000000000000000000000000000",
              tms_dr_cpld[]=        "00",
              tms_irtodr_[]=       "11111100",
              tms_shift_virtex[] = "00000000000000000000",
              tms_shift_cpld[] =    "000000000000000000",
              tms_dr[]=            "1111111111";
*/
//char tms_ir[500];
   
 
        printf("arrtms[i] ");
        strcat(tms_ir,tms_shift_ir);
        strcat(tms_ir,tms_shift_virtex);
        strcat(tms_ir,tms_shift_cpld);
        strcat(tms_ir,tms_irtodr_);
        strcat(tms_ir,tms_dr_idvirtex);
        strcat(tms_ir,tms_dr_cpld);
        strcat(tms_ir,tms_dr);
        printf("%s", tms_ir);
    
  
     /*   for (i = 0; (c = tms_ir[i]) != '\0'; i++)
        
        {
        arrtms[i] = (c == '0') ? 0 : 1;
        printf("%d", arrtms[i]);
        }
*/
        printf("\n");
        printf("\n");
        arrsize = i;
 
       // 
        return TMS;
}
0
Эксперт С++
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
26.08.2010, 11:35 8
Jlu, следите за тем, чтобы размерность переменной tms_ir была достаточно велика, для хранения всех подстрок.

Приведу вам ещё один пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//---------------------------------------------------------------------------
#include <iostream>
//---------------------------------------------------------------------------
void CharCat (char *Str1, char *Str2, char *FullStr)
{
  strcat(FullStr,Str1);
  strcat(FullStr,Str2);
}
//---------------------------------------------------------------------------
int main()
{
  char s1[] = "Hello ";
  char s2[] = "World!";
  char fs[20] = { NULL };
  CharCat(s1,s2,fs);
 
  std::cout << fs << std::endl;
  std::system("pause");
 
  return 0;
}
//---------------------------------------------------------------------------
1
0 / 0 / 1
Регистрация: 19.05.2010
Сообщений: 30
26.08.2010, 14:36  [ТС] 9
спасибо, все получилось
0
26.08.2010, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2010, 14:36
Помогаю со студенческими работами здесь

Объединение строк
Весь мозг сегодня вынес! Есть List, заполняется так: zopa.Add(get_name(id_club)); При коде...

Объединение строк
Разработать программу объединения двух символьных массивов, без использования функции strcat и...

Объединение строк
Добрый день. Подскажите как можно объединить строки с одинаковым полем. Пример есть таблица namt...

Объединение строк
Добрый день! Подскажите пожалуйста, каким способом можно слить два объекта, в один, чтобы...


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

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