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

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

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

Скопировать подстроку в строку до последнего пробела - C++

23.04.2011, 14:59. Просмотров 2095. Ответов 2
Метки нет (Все метки)

Надо написать программу, которая будет копировать подстроку в строку до последнего пробела.
Например, исходная строка "раз два три". В новую строку должно копироваться "раз, два".
Я использую функцию strrchr для нахождения последнего пробела, а вот как скопировать строку до этого пробела? Помогите разобраться.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <conio.h>
#include <iostream>
#include <string>
using namespace std;
class String {          
        char *str; 
        public:
// Конструктор
    String (char *s = "\0") {           
        str = new char [strlen(s)+1];   
        strcpy(str,s);          
              }
// Деструктор
        ~ String () 
        {delete str;  }
//Печать
        void Print(char *s)
        {cout<<str;}
 
        void Set ()
        {
        const int MAX = 80;              
        char *ptr,c=' ';
cout<<"Введите строку:"<<endl;
 
    char sTemp[MAX];
    cin.get(sTemp,MAX);
    ptr=strrchr(sTemp, c);
    cout<<ptr<<endl;
    strcpy(str,sTemp);
    // Здесь нужен оператор для копирования подстроки в новую строку
        }
        };
void main(void)
{
    setlocale(LC_ALL, "Russian");
    
    String s1,s2; 
    s1.Set();
 
   //s1.Print("s1");
   getch();
   return;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2011, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скопировать подстроку в строку до последнего пробела (C++):

Скопировать слово после пробела в новую строку - C++
Здравствуйте. У меня вопрос насчет строк. Например у нас есть строка(string), которая состоит из двух слов и между ними пробел. Каким...

Если длина строки четная, то удалить подстроку до первого пробела - C++
Помогите, пожалуйста, найти и исправить ошибку, ибо я уже не знаю что не так. Задача должна удалить подстроку до первого пробела, если...

Удаление строки до последнего пробела (включительно) - C++
День добрый всем! Дана строка, содержащая слова отделенные одним или несколькими пробелами. Задача: удалить последовательно все части...

Считать строку до пробела - C++
Как считать строку до пробела

Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа - C++
Добрый вечер. Ответ искал, но не нашёл. Предположим, есть строка: ABC|DEF Надо скопировать всё до | , т.е., в приведённом...

Вставить подстроку в строку - C++
Дано строка и подстрока. Вставить указанный подстроку в начальную строку через 2, 4, 8 ... символов.

2
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
23.04.2011, 15:27 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
#include<string.h>
#include<windows.h>
 
int main(){
    char *text="раз, два, три", res[100]={'\0'}, *ws=NULL;
    if(ws=strrchr(text, ' ')) strncpy(res, text, ws-text);
    else puts("Character not found");
    CharToOem(res, res);
    puts(res);
    return 0;
}
1
zydrate
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 11
23.04.2011, 15:45  [ТС] #3
igorrr37 Спасибо, работает. Для своей задачи приспособил)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2011, 15:45
Привет! Вот еще темы с ответами:

Обрезать строку до первого пробела - C++
Первое, что пришло в голову: #include &lt;iostream&gt; using namespace std; void getWord ( char * words ) { char word; ...

Замена символа пробела на заданную строку - C++
здрасти, со строками у меня как то плохо все, как заменить все символы пробелов на строку &quot; !##! &quot;? int main() { char probel = '...

Переход на новую строку после пробела - C++
Как организовать переход на новую строку после пробела? Ну например как из строки &quot;10 20 30&quot;, вывести на экран такой вот столбик: 10 20...

Вставить подстроку в строку, начиная с позиции n - C++
Надо вставить подстроку в строку, начиная с позиции n.


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

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

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