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

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

Войти
Регистрация
Восстановить пароль
 
akimo
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
#1

Обрыв строк - C++

04.10.2012, 19:18. Просмотров 424. Ответов 7
Метки нет (Все метки)

Пишу программу для обработки строк. Возникла следующая проблема: при вводе в string-переменную строки, содержащей пробел обрывается запись в char-массив (размером = длинне строки) символов строки (по 1). Как забить массив всем содержимым строки, включая пробелы и следующие после них символы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 19:18     Обрыв строк
Посмотрите здесь:

Обрыв функции при вызове метода из объекта другого класса - C++
Почему выполнение функция обрывается на вызове метода из объекта другого класса? DataBuffer.cpp //Получаем класс FirstDlg void...

По некоторому количеству строк (не более N) найти пары строк с общим словом - C++
По некоторому количеству строк (не более N) найти пары строк с общим словом. помогите, пожалуйста. слишком быстро перескочили и со...

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

Упорядочить по росту сумм элементов строк строки той матрицы, у которой больше нулевых строк - C++
Сидел думал над задачей почти всю ночь условия такие Даны три матрицы размером M x N. Упорядочить по росту сумм элементов строк строки ...

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

Объясните смысл строк в коде (~20 строк) - C++
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { char text; FILE *f =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BuPy7
Нет ТЗ - давай досвидания
748 / 345 / 30
Регистрация: 01.12.2011
Сообщений: 2,042
04.10.2012, 20:13     Обрыв строк #2
Функция cin.getline() и будет вам счастье.
Функция имеет три параметра:
1) ссылка на массив символов
2) количество считываемых символов
3) символ указывающий на конец строки (не обязательно, по умолчанию "\0")
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
04.10.2012, 20:13     Обрыв строк #3
akimo, сначала вводится в string, а затем из нее считывается в массив типа char? Полное задание есть?
akimo
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
04.10.2012, 22:48  [ТС]     Обрыв строк #4
BumerangSP, На данный момент моя программа превращает любую введенную строку в палиндром. Теперь осталось сделать так, чтобы программа обрабатывала предложения.
P.S. Пример работы моей программы: Ввод: "Privet Mir"; Вывод: "PriirP", а надо чтобы вывод был: "PriirP MiM".
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
04.10.2012, 23:04     Обрыв строк #5
akimo, getline помогла?
akimo
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
04.10.2012, 23:10  [ТС]     Обрыв строк #6
Сейчас ковыряюсь с ней, думаю как ее пристроить к коду. Если не выйдет, то отпишусь.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
04.10.2012, 23:18     Обрыв строк #7
C++
1
2
 char str[20];
 std::cin.getline(str,20);
Так и пристроить. В str будет содержаться вся введенная строка.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 23:22     Обрыв строк
Еще ссылки по теме:

Внесение строк в массив строк (не сложно) - C++
Всем привет. Есть одна проблемка в решении задачи. Задачу я решил, но необходимо немного доделать. Прошу помощи! Заранее благодарен) ...

Добавление строк в масив строк - C++
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но чтобы можна было добавить ещё строки?

Строка: Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк. - C++
Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк....

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции - C++
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...


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

Или воспользуйтесь поиском по форуму:
akimo
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
04.10.2012, 23:22  [ТС]     Обрыв строк #8
Да, нашел уже на форуме примеры использования, кстати хорошая штука, с ней у меня код сократился сильно.
Изначально вот какая штука была:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string s;
    cin >> s;
    int sz = s.length(), j = (sz / 2) + 1; char c[sz];
    if (sz % 2 != 0) {
        for (int i = 0; i < sz; ++ i)
            c[i] = s[i];
        for (int i = (sz / 2) + 2; i <= sz; ++ i) {
            j -= 1;
            c[i - 1] = c[j - 1];
        }
        for (int i = 0; i < sz; ++ i)
            cout << c[i];
    }
    else {
        for (int i = 0; i < sz; ++ i)
            c[i] = s[i];
        for (int i = (sz / 2) + 1; i <= sz; ++ i) {
            j -= 1;
            c[i - 1] = c[j - 1];
        }
        for (int i = 0; i < sz; ++ i)
            cout << c[i];
    }
    return 0;
}
Yandex
Объявления
04.10.2012, 23:22     Обрыв строк
Ответ Создать тему
Опции темы

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