Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Oleksa
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 8
#1

конкатенация 2х строк? подскажите новичку в с++ - C++

03.12.2012, 22:39. Просмотров 440. Ответов 14
Метки нет (Все метки)

Как получить строку s, являющую собой конкатенацию двух строк s0 и s1?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2012, 22:39     конкатенация 2х строк? подскажите новичку в с++
Посмотрите здесь:

Конкатенация строк - C++
Нужно объединить три строки: "txt/" + i + ".txt" в char* URL. i переменная в цикле. Сделал так: strcpy(URL, "txt/\0"); ...

Конкатенация строк - C++
Добрый день. Скажите, плз, как в ц++ соединить в единую строку следующее: myString = argv + i + "тут некоторый текст." argv - ну ясно...

Конкатенация двух строк - C++
Как написать программу, которая задает пользователю какие-то вопрос, которые требует однозначного ответа. Проверить его правильность. Дать...

Конкатенация строк в объектах - C++
Программа завершает свою работу в тот момент, когда выполняет нижеприведенный фрагмент кода. Вывода на экран не происходит. Вкратце...

Конкатенация строк препроцессором - C++
Добрый день! Подскажите пожалуйста почему не работает B(A)(); #include <iostream> using namespace std; #define B(x) f##x##f...

Упражнение из Страуструпа: конкатенация С-строк - C++
Напишите функцию cat(), которая принимает в качестве аргументов две С-строки и возвращает конкатенированную С-строку. Используйте операцию...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
03.12.2012, 22:45     конкатенация 2х строк? подскажите новичку в с++ #2
C++
1
2
3
4
5
6
7
8
9
10
#include <cstring>
 
int main()
{
   char * s0 = "C", s1 = "++", s;
   strcat(s, s0);
   strcat(s, s1);
 
  return 0;
}
В интернете куча примеров:
http://www.cplusplus.com/reference/cstring/strcat/
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
03.12.2012, 22:52     конкатенация 2х строк? подскажите новичку в с++ #3
(SkyNet), в случайный участок памяти же пишите (я про s).
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
03.12.2012, 23:00     конкатенация 2х строк? подскажите новичку в с++ #4
gray_fox, а разве в функции нет динамического выделения памяти, или надо так (Не проверял)

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstring>
 
int main()
{
   char * s0 = "C", s1 = "++", s;
   s = new char[strlen(s0) + strlen(s1)+1];
   strcat(s, s0);
   strcat(s, s1);
 
  delete [] s;
  return 0;
}
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
03.12.2012, 23:09     конкатенация 2х строк? подскажите новичку в с++ #5
Цитата Сообщение от (SkyNet) Посмотреть сообщение
char * s0 = "C", s1 = "++", s;
поэтому переменные лучше объявлять на отдельных строках
* относится только к s0, а s1 и s имеют тип char
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2012, 23:16     конкатенация 2х строк? подскажите новичку в с++ #6
(SkyNet), все равно не правильно(смысла нет). Да и тут имеется ввиду контейнер std::string.
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
03.12.2012, 23:16     конкатенация 2х строк? подскажите новичку в с++ #7
ZoRT, спасибо, а то я написал неправильно получаетса.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstring>
 
int main()
{
   char* s0 = "C"; 
   char* s1 = "++";
   char* s;
 
   strcat(s, s0);
   strcat(s, s1);
 
  return 0;
}
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2012, 23:18     конкатенация 2х строк? подскажите новичку в с++ #8
Цитата Сообщение от gray_fox Посмотреть сообщение
в случайный участок памяти же пишите (я про s).
Даже и не скомпилится.
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
03.12.2012, 23:18     конкатенация 2х строк? подскажите новичку в с++ #9
go, да я сам ими пользуюсь уже не помню Си строки
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2012, 23:19     конкатенация 2х строк? подскажите новичку в с++ #10
Цитата Сообщение от (SkyNet) Посмотреть сообщение
спасибо, а то я написал неправильно получаетса.
ну не правильно.
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
03.12.2012, 23:31     конкатенация 2х строк? подскажите новичку в с++ #11
Цитата Сообщение от go Посмотреть сообщение
Даже и не скомпилится.
Вот называетса не проверил, думал очень просто

Добавлено через 11 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstring>
#include <iostream.h>
 
int main()
{
   char s0[] = "C";
   char s1[] = "++";
   char s[] = "";
   
   strcat(s0, s1);
   strcat(s, s0);
  
   cout << s << endl;
   cout << s0 << endl;
   return 0;
}
Ну вот так работает, но меняет s0, что не очень желано. Может быть кто то знает как через указатели правильно зделать
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
03.12.2012, 23:40     конкатенация 2х строк? подскажите новичку в с++ #12
C++
1
2
3
4
5
6
const char* s0 = "C";
const char* s1 = "++";
char* s = new char[ strlen( s0 ) + strlen( s1 ) + 1 ];
 
strcpy( s, s0 );
strcat( s, s1 );
Только кому нужны эти C-строки, когда есть нормальный std::string. Именно им надо пользоваться в C++.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2012, 23:42     конкатенация 2х строк? подскажите новичку в с++ #13
Цитата Сообщение от (SkyNet) Посмотреть сообщение
Ну вот так работает,
Не правильно.
Venzo
04.12.2012, 20:53
  #14

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
Только кому нужны эти C-строки, когда есть нормальный std::string. Именно им надо пользоваться в C++.
преподам

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 21:01     конкатенация 2х строк? подскажите новичку в с++
Еще ссылки по теме:

Работа с массивом строк. Конкатенация. - C++
1. Обнаружено, что в тексте пропущены некоторые слова и словосочетания. Они поданы отдельным списком в том порядке, в котором должны быть...

Конкатенация строк через функцию - C++
Пытался я сделать программу, которая соединяет две строки. Сделал я все это так порнографично (через функцию), так-как такое домашнее...

Список файлов и конкатенация строк - C++
Здравствуйте. В этом коде std::vector&lt;std::string&gt; Files(0); // вектор с файлами ...

Конкатенация строк с переменным числом параметров - C++
Нужно реализовать ф-цию конкатенации чаровских строк с переменным числом параметров. Делал примерно так: char * strcat2(char * s, char *...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
04.12.2012, 21:01     конкатенация 2х строк? подскажите новичку в с++ #15
Цитата Сообщение от (SkyNet) Посмотреть сообщение
Ну вот так работает, но меняет s0, что не очень желано.
Так не будет работать.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
Только кому нужны эти C-строки, когда есть нормальный std::string. Именно им надо пользоваться в C++.
и вырасти не знающим ничего пингвином, имхо!

Yandex
Объявления
04.12.2012, 21:01     конкатенация 2х строк? подскажите новичку в с++
Ответ Создать тему
Опции темы

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