Форум программистов, компьютерный форум, киберфорум
Наши страницы

Массив строк преобразовать в строку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Книга по WinApi с упражнениями http://www.cyberforum.ru/cpp-beginners/thread935079.html
Всем привет. Сейчас дочитываю книгу "Win32 API. Эффективная разработка приложений. Щупак Ю. А." Проблема в том, что там нет упражнений, подскажите пожалуйста хорошую книгу, и с упражнениями.
C++ Преобразование типов в наследниках Закомментированная строка не работает. class A { }; class B : public A { public: //B(C & varC) {} }; class C : public A { public: http://www.cyberforum.ru/cpp-beginners/thread935076.html
присвоение значения C++
Здравствуйте! можно ли каким-нибудь образом присвоить значению int значение char? К примеру: у меня есть массив типа int, нужно найти элемент равный 5 и заменить его на пробел!!! Можно ли сделать...
Книга Страуструп Программирование Принципы и практика C++
У кого есть книга Страуструп Программирование Принципы и практика? сбросьте пожалуйста 333 страницу из книги
C++ boost и Multithreading http://www.cyberforum.ru/cpp-beginners/thread935066.html
Подскажите, пожалуйста, как создать сервер, который принимает запросы от клиентов и отправляет каждый из них в отдельный thread. Вопрос в том, как создавать неопределенное количество потоков? есть...
C++ замена элемента матрицы на пробел Здравствуйте! Как можно заменить элемент матрицы на пробел? подробнее

Показать сообщение отдельно
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
08.08.2013, 11:55
Как вариант (надо бы проверить на работоспособность):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstring>
 
 
int main ( ) {
   const int size = 5 ;
   const char * arr [ size ] = { "string1" , "string2" , "string3" , "string4" , "string5" } ;
   int resultStringLength = 0 ;
   for ( int i = 0 ; i < size ; ++i ) { //Считаем длину всех строк
      resultStringLength += strlen ( arr [ i ] ) ; 
   }
   resultStringLength += (size-1) * 2 ; //Для разделителей ( запятая + пробел )
   char * resultString = new char [ resultStringLength + 1 ] ; // Выделяем память с учетом завершающего нуля
   resultString [ 0 ] = '\0' ; // "обнуляем" строку
   if ( size > 0 ) {
      strcat ( resultString , arr [ 0 ] ) ; //Добавляем первое слово
      for ( int i = 1 ; i < size ; ++i ) {
         strcat ( resultString , ", " ) ; // Добавляем запятую
         strcat ( resultString , arr [ i ] ) ; //Добавляем строку
      }
   }
   std::cout << resultString << std::endl ;
}
Tulosba, лишняя запятая в конце
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru