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

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

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

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

12.08.2010, 23:23. Просмотров 1161. Ответов 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)
это примерно так набросал

но при этом выбивает ошибку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2010, 23:23     Соединение Strings
Посмотрите здесь:

C++ Strings
C++ Соединение 3 в 1-ну
C++ Самописная Extract strings
C++ соединение с БД C++
BST of strings C++
C++ Парочка примитивных неясностей о массивах и C-strings
C++ How to do this? Array of strings
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
12.08.2010, 23:28     Соединение Strings #2
http://cplusplus.com/reference/clibrary/cstring/strcat/ для char
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
13.08.2010, 03:03     Соединение Strings #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;
}
alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
13.08.2010, 03:39     Соединение Strings #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;
}
мне такая проверка на ум приходит
ProFiLeR
5 / 5 / 0
Регистрация: 06.04.2010
Сообщений: 39
13.08.2010, 10:06  [ТС]     Соединение Strings #5
Всем спасибо за ответ , всем +1
algoman
0 / 0 / 0
Регистрация: 04.08.2010
Сообщений: 15
13.08.2010, 10:24     Соединение Strings #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());
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,430
13.08.2010, 10:38     Соединение Strings #7
algoman, метод c_str() возвращает строку Cи (const char*), которая уже используется в фукнции system.
algoman
0 / 0 / 0
Регистрация: 04.08.2010
Сообщений: 15
13.08.2010, 19:38     Соединение Strings #8
Спасибо, понял
rubic
8 / 8 / 1
Регистрация: 29.09.2009
Сообщений: 28
14.08.2010, 14:43     Соединение Strings #9
а почему никто неупомянул strcat?
alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
14.08.2010, 23:06     Соединение Strings #10
rubic, первым постом =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2010, 02:58     Соединение Strings
Еще ссылки по теме:

C++ Create an array of strings, find and delete duplicate lines and sort rows in the aray
C++ Строки (strings) в C++
C++ Соединение с сервером
STL set of sets of strings C++
Соединение 2-х строк C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
15.08.2010, 02:58     Соединение Strings #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);
}
Yandex
Объявления
15.08.2010, 02:58     Соединение Strings
Ответ Создать тему
Опции темы

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