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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ProFiLeR
47 / 5 / 0
Регистрация: 06.04.2010
Сообщений: 39
#1

Соединение Strings - C++

12.08.2010, 23:23. Просмотров 1333. Ответов 10
Метки нет (Все метки)

Как обьеденить 2 строки char* в одну чтобы в последущем использовать в
C++
1
system(string)
что то типа
C++
1
2
3
4
char* A, ip;
ip="192.168.0.1"
A="ping ",ip
system(A)
это примерно так набросал

но при этом выбивает ошибку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2010, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Соединение Strings (C++):

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

Строки (strings) в C++ - C++
Здравствуйте, уважаемые программисты! Прошу помочь нубу-новичку разобраться с некоторыми нюансами программирования на C++. Сишку учу с...

BST of strings - C++
Задание реализовать для binary search tree string-ов функции add, find, print. struct tree{ string key; node * left; node *...

How to do this? Array of strings - C++
1.George Washington (1789-1797) 2.John Adams (1797-1801) 3.Thomas Jefferson (1801-1809) 4.James Madison (1809-1817) 5.James Monroe...

Самописная Extract strings - C++
Вызывает завершение работы программы следующий проблематичный для мну код. char *Cheb21::ExtractString(int pos1,int pos2,char buff) ...

STL set of sets of strings - C++
Вот такая колбаса(I use VS10): std::set<std::set<std::string>> s; Возможно ли добавить во внутренний std::set<std::string>...

10
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.08.2010, 23:28 #2
http://cplusplus.com/reference/clibrary/cstring/strcat/ для char
2
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,812
13.08.2010, 03:03 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <cstdlib>
 
int main(){
    std::string address;
    
    std::cout << "Enter hostname or ip: ";
    std::cin >> address; 
    // тут неплохо бы какую-то проверку на валидность устроить
    address = "ping " + address;
    system(address.c_str());
 
    return 0;
}
1
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.08.2010, 03:39 #4

Не по теме:

Цитата Сообщение от ProFiLeR Посмотреть сообщение
A="ping ",ip
это канкатенация строки? :-D



C++
1
2
3
4
5
6
7
8
9
10
bool isValid( const char* ip ){
  unsigned u[4], c;
  if( 4 == sscanf( ip, "%u.%u.%u.%u%c", u, u+1, u+2, u+3, &c ) ){
    for( int i=0;i<4;++i ){
      if( u[i]>255 ){ return false; }
    }
    return true;
  }
  return false;
}
мне такая проверка на ум приходит
1
ProFiLeR
47 / 5 / 0
Регистрация: 06.04.2010
Сообщений: 39
13.08.2010, 10:06  [ТС] #5
Всем спасибо за ответ , всем +1
0
algoman
0 / 0 / 0
Регистрация: 04.08.2010
Сообщений: 15
13.08.2010, 10:24 #6
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <cstdlib>
 
int main(){
    std::string address;
    
    std::cout << "Enter hostname or ip: ";
    std::cin >> address; 
    // тут неплохо бы какую-то проверку на валидность устроить
    address = "ping " + address;
    system(address.c_str());
 
    return 0;
}
easybudda объясните пожалуйста строчку
C++
1
system(address.c_str());
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
13.08.2010, 10:38 #7
algoman, метод c_str() возвращает строку Cи (const char*), которая уже используется в фукнции system.
1
algoman
0 / 0 / 0
Регистрация: 04.08.2010
Сообщений: 15
13.08.2010, 19:38 #8
Спасибо, понял
0
rubic
8 / 8 / 1
Регистрация: 29.09.2009
Сообщений: 28
14.08.2010, 14:43 #9
а почему никто неупомянул strcat?
0
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.08.2010, 23:06 #10
rubic, первым постом =)
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,812
15.08.2010, 02:58 #11
По просьбам трудящихся
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define BUFLEN 128
 
int main(void){
    char cmd[BUFLEN] = "ping ", addr[BUFLEN];
    
    printf("Address or ip: ");
    if ( scanf("%s", addr) != 1 ){
        perror("scanf");
        exit(EXIT_FAILURE);
    }
    
    system(strncat(cmd, addr, BUFLEN - strlen(cmd) - 1));
    
    exit(EXIT_SUCCESS);
}
0
15.08.2010, 02:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2010, 02:58
Привет! Вот еще темы с ответами:

Парочка примитивных неясностей о массивах и C-strings - C++
Когда я пишу: char * arr = new char; Выделяется память размером 7 байт под массив с элементами arr ... arr и обращение к arr приведет к...

Create an array of strings, find and delete duplicate lines and sort rows in the aray - C++
Write a program, the following operations: a) Create an array of strings. b) Find and delete duplicate lines. с) Sort rows in the...

Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]) - C++
Почему компилятор на это матерится? ObjA.Show(&quot;A&quot;); deprecated conversion from string constant to 'char*' #include &lt;iostream&gt; ...

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC - C++
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже число, но если убрать srand(time(0));,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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