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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
#1

Класс <string> - C++

09.05.2012, 20:06. Просмотров 1401. Ответов 29
Метки нет (Все метки)

Подскажите пожалуста, как переписать из строки str первые n байтов в строку str1, а остальные в строку str2?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 20:06     Класс <string>
Посмотрите здесь:

Свой класс string C++
C++ класс string
Класс String C++
C++ Разработать класс String
C++ Класс String
C++ Класс String
C++ Класс string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
09.05.2012, 20:10     Класс <string> #2
C++
1
2
3
4
5
6
7
8
string s1,s2,s="12345678";
int n=3;
 
s1=s.substr(0,n);
s2=s.substr(n,s2.npos);
 
cout<<s1<<endl;
cout<<s2<<endl;
Вывод:
123
45678
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
09.05.2012, 20:18  [ТС]     Класс <string> #3
спасибо))
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
09.05.2012, 20:20     Класс <string> #4
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
#include "string"
#include "iostream"
 
int main()
{
    std::string str1;
    std::string str2; 
    std::string str = "Divide by bytes";
    int n = -1;
    
    while(n < 0 || n > str.size())
    {
        system("cls");
        std::cout << "Enter - ";
        std::cin >> n;  
    }
 
    str1 = str.substr(0,n);
    str2 = str.substr(n,str2.npos);
 
    std::cout << str1 << std::endl;
    std::cout << str2 << std::endl;
    system( "pause >> null" );
    return 0;
}
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
09.05.2012, 23:29  [ТС]     Класс <string> #5
Спасли)))
А в этом же классе я могу обьявить фвункцию типа string:
string func(string a, string b)
{
return a^b;
}
вот что-то такое?
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
09.05.2012, 23:50     Класс <string> #6
А что такое "^" ?
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
10.05.2012, 00:59  [ТС]     Класс <string> #7
если не ошибаюсь то XOR

Добавлено через 1 минуту
однако,уже не надо,я с этой функцией разобралась

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string XOR(string value,string key)
{
    string retval(value);
 
    short unsigned int klen=key.length();
    short unsigned int vlen=value.length();
    short unsigned int k=0;
    short unsigned int v=0;
     
    for(v;v<vlen;v++)
    {
        retval[v]=value[v]^key[k];
        k=(++k<klen?k:0);
    }
     
    return retval;
}
вот она!
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
10.05.2012, 01:18     Класс <string> #8
Просто интерено зачем применять это действие к строкам?
Чтож такого хранится в строках?
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.05.2012, 01:19     Класс <string> #9
Цитата Сообщение от Avazart Посмотреть сообщение
Просто интерено зачем применять это действие к строкам?
это такой метод шифрования
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
10.05.2012, 01:26     Класс <string> #10
Серьёзный метод
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
10.05.2012, 01:31  [ТС]     Класс <string> #11
ГОСТ 28147-89

Добавлено через 50 секунд
Гост 28147-89
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
10.05.2012, 01:48     Класс <string> #12
Просто самый простой метод, сам по себе ничего не значит- по вероятности легко разшифровать
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
13.05.2012, 17:52  [ТС]     Класс <string> #13
В этом классе можно использовать функцию atoi(или остальные функции в этом роде) для конвертации из стринг в инт, если да то как? А если нет ,подскажите пожалуста то какими методами еще можно?
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
13.05.2012, 18:27     Класс <string> #14
C++
1
int i= atoi(str.c_str());
Но это если строка действительно число, а если нет - ф-ция возвратит 0;
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
13.05.2012, 19:07  [ТС]     Класс <string> #15
она и возвращает 0, но мне это не нужно,мне числа нужны,чтобы потом их по битам разделить

Добавлено через 27 минут
вот так получилось, а тут ни каких проблем не будет с этим методом?
C++
1
2
const char *str = t1.c_str();
    int i = int(str);
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.05.2012, 19:11     Класс <string> #16
Цитата Сообщение от Lyonchik Посмотреть сообщение
вот так получилось, а тут ни каких проблем не будет с этим методом?
Если не считать того, что этот метод выводит адрес строки, а не саму строку, и уж тем более не число, то никаких.
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
13.05.2012, 21:11  [ТС]     Класс <string> #17
Цитата Сообщение от diagon Посмотреть сообщение
Если не считать того, что этот метод выводит адрес строки, а не саму строку, и уж тем более не число, то никаких.
Ну, тогда подскажите как реализовать правильную конвертацию?
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
13.05.2012, 21:23     Класс <string> #18
Что вы понимаете под конвертацией?
Получить число соответствующее символу согласно кодировки(KOI,UTF-8) ?
Lyonchik
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 89
13.05.2012, 21:25  [ТС]     Класс <string> #19
Цитата Сообщение от Avazart Посмотреть сообщение
Что вы понимаете под конвертацией?
Получить число соответствующее символу согласно кодировки(KOI,UTF-8) ?
наверно да
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 21:41     Класс <string>
Еще ссылки по теме:

свой класс string C++
C++ класс String
C++ Создайте класс String
Класс String C++
Реализовать класс String C++

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

Или воспользуйтесь поиском по форуму:
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,037
Записей в блоге: 17
13.05.2012, 21:41     Класс <string> #20
C++
1
2
char ch="A";
int i= (int)ch; // (int) можно и не ставить
Yandex
Объявления
13.05.2012, 21:41     Класс <string>
Ответ Создать тему
Опции темы

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