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

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

Войти
Регистрация
Восстановить пароль
 
 
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
#1

Почему тип char не может делать вот так += - C++

05.09.2012, 11:36. Просмотров 574. Ответов 18
Метки нет (Все метки)

Я хочу из входного текста получить другой текст. Например:
ТЕКСТ, а я хочу получить
ТСКЕТ то есть предложение или слово только наоборот.



C++
1
2
3
4
5
6
7
8
9
10
        char *text = new char;
    char new_text;
    gets(text);
    
    for(int i=strlen(text);i>=0;i--)
    {
        new_text += text[i]; // здесь я хочу чтобы у меня конечный результат записывался не как //массив а как одно целое сразу. Но он так не хочет работать.
    }
 
    cout<<new_text;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 11:36     Почему тип char не может делать вот так +=
Посмотрите здесь:

Тип char ошыбка в обьявлении исправте хто может - C++
Всем здрасте! :) А почему когда я пишу так при обьявлении типа char: char name={f,r,a,n,c,a,null}; Компилятор выдает...

8-битовый тип signed char может представлять значения от -128 до 127 - C++
8-битовый тип signed char может представлять значения от -128 до 127 Кто может растолковать как это понимать, от 128 до 127 -...

Почему два char нельзя сравнивать так ==? - C++
Почему два char нельзя сравнивать так ==?

Thread: можно ли делать так, как в заданном коде и если нет, то почему? - C++
Всем привет. можно ли так делать? Если нет то почему. Спасибо. #include &lt;iostream&gt; #include &lt;thread&gt; #include &lt;chrono&gt; class...

Почему тип входящего параметра функции может отличаться от типа возвращаемого значения? - C++
Зачем здесь указываеться другой тип данных: double &amp;change_it(int i); Весь код: using namespace std; double...

вот так задачка((( - C++
ввели количество человек к примеру ( 8 человек ); name| last name| year| start number| it number| previous result ...

Вывести массив вот так - C++
задан массив любой размерности, его нужно сначала мысленно разделить на две части : в нечетных строках слева будут все кроме последнего...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.09.2012, 11:44     Почему тип char не может делать вот так += #2
Потому что char* это простой указатель, а не умная строка с оператором +=.
К тому же ты создаешь new_text как char, это вообще одиночный символ, да и под text ты всего 1 char выделаешь.
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 11:50  [ТС]     Почему тип char не может делать вот так += #3
а вообще как нибудь возможно со строками сделать такое += ?
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.09.2012, 11:51     Почему тип char не может делать вот так += #4
std::string
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:05  [ТС]     Почему тип char не может делать вот так += #5
если можно по подробнее.
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
05.09.2012, 12:05     Почему тип char не может делать вот так += #6
C++
1
2
std::string str = "123";
str += "123";
vendeme
-32 / 3 / 3
Регистрация: 22.06.2011
Сообщений: 88
05.09.2012, 12:10     Почему тип char не может делать вот так += #7
читай про перегрузку опраторов
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
05.09.2012, 12:12     Почему тип char не может делать вот так += #8
Реверсирование строки можно сделать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <algorithm> 
using namespace std; 
 
int main() 
{  
    string str = "Barca"; 
    reverse(str.begin(), str.end()); 
 
    cout << str << endl;
}
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
05.09.2012, 12:12     Почему тип char не может делать вот так += #9
C++
1
2
3
4
5
6
7
8
9
10
11
        char *text = new char[256];
    char* new_text = new char[256];
    gets(text);
    
    int n = 0;
    for(int i=strlen(text);i>=0;i--)
    {
        new_text[n++] = text[i]; // здесь я хочу чтобы у меня конечный результат записывался не как //массив а как одно целое сразу. Но он так не хочет работать.
    }
 
    cout<<new_text;
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
05.09.2012, 12:17     Почему тип char не может делать вот так += #10
gets в новом стандарте признана устаревшей функцией.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 12:19     Почему тип char не может делать вот так += #11
тип char может делать вот так +=

C++
1
2
char ch = 2;
ch += 2; // после этого ch уже 4
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:19  [ТС]     Почему тип char не может делать вот так += #12
а что лучше использовать ?
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
05.09.2012, 12:23     Почему тип char не может делать вот так += #13
C++
1
2
std::string str;
std::getline(std::cin, str);
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 12:25     Почему тип char не может делать вот так += #14
Цитата Сообщение от Maratovich Посмотреть сообщение
а что лучше использовать ?
лучше усвоить разницу между char и char*. тогда не будешь писать такого:
C++
1
char *ch = new char;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2012, 12:28     Почему тип char не может делать вот так +=
Еще ссылки по теме:

вот прога почему то не работает - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main (){ string str,slovo; int s=0; char m=0; ...

Что делать с типом unsined char? - C++
Задача: Создать класс Money для работы с денежными суммами. Число должно быть представлено двумя полями: типа long для рублей и типа...

тип char - C++
Подскажите плз, почему сортировка не работает с типом char. С типом int, элементы сортируются. void InsertSort(v1 a) { for (char i...

Тип char и указатели - C++
Вопрос... Тип может хранить только символы, или строки тоже? Если только символы, то почему этот код работает?: ... void...

FindWindow() и тип char* - C++
Здравствуйте. Наверняка вопрос уже много раз задавался, но долгий и муторный поиск не помог. Вот код (он учебный, просто хочу понять...


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

Или воспользуйтесь поиском по форуму:
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:28  [ТС]     Почему тип char не может делать вот так += #15
а что тогда лучше использовать?
Yandex
Объявления
05.09.2012, 12:28     Почему тип char не может делать вот так +=
Ответ Создать тему
Опции темы

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