13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
1

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

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

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



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;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2012, 11:36
Ответы с готовыми решениями:

Почему у функции main() тип int? Почему не может быть какой-то другой, например, char?
Схема, касательно возвращаемого значения понятна. Не понятно почему именно целочисленное. Хелп)

Почему у массивов типа char может быть утечка памяти, а у указателей char с выделенной памятью - нет?
Тут будет утечка памяти: #include&lt;iostream&gt; using namespace std; int main() { char name;...

Вот почему так ?
Захожу в биос , делаю настройки которые нужны жму &quot;F10&quot; вылазиет окошко &quot;сохранить&quot; жму &quot;Y&quot; а...

Почему в setnamedisc нужно использовать char * для установки значения, а при возвращении значения тип метода должен быть char* ?
Вопрос такой, почему в методе setnamedisc нужно использовать char *s для установки значения, а при...

18
545 / 344 / 12
Регистрация: 05.11.2010
Сообщений: 1,076
Записей в блоге: 1
05.09.2012, 11:44 2
Потому что char* это простой указатель, а не умная строка с оператором +=.
К тому же ты создаешь new_text как char, это вообще одиночный символ, да и под text ты всего 1 char выделаешь.
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 11:50  [ТС] 3
а вообще как нибудь возможно со строками сделать такое += ?
0
545 / 344 / 12
Регистрация: 05.11.2010
Сообщений: 1,076
Записей в блоге: 1
05.09.2012, 11:51 4
std::string
1
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:05  [ТС] 5
если можно по подробнее.
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
05.09.2012, 12:05 6
C++
1
2
std::string str = "123";
str += "123";
0
32 / 4 / 0
Регистрация: 22.06.2011
Сообщений: 88
05.09.2012, 12:10 7
читай про перегрузку опраторов
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.09.2012, 12:12 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;
}
1
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
05.09.2012, 12:12 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;
4
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
05.09.2012, 12:17 10
gets в новом стандарте признана устаревшей функцией.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 12:19 11
тип char может делать вот так +=

C++
1
2
char ch = 2;
ch += 2; // после этого ch уже 4
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:19  [ТС] 12
а что лучше использовать ?
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
05.09.2012, 12:23 13
C++
1
2
std::string str;
std::getline(std::cin, str);
1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 12:25 14
Цитата Сообщение от Maratovich Посмотреть сообщение
а что лучше использовать ?
лучше усвоить разницу между char и char*. тогда не будешь писать такого:
C++
1
char *ch = new char;
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:28  [ТС] 15
а что тогда лучше использовать?
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
05.09.2012, 12:29 16
novi4ok, память под 1 символ
1
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
05.09.2012, 12:29  [ТС] 17
чо то я не в тему написал последнее сообщение
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.09.2012, 12:33 18
Цитата Сообщение от Пaтрик Посмотреть сообщение
novi4ok, память под 1 символ
а главное, он потом туда текст втискивает.
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
05.09.2012, 12:35 19
novi4ok, воля случая.
0
05.09.2012, 12:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2012, 12:35
Помогаю со студенческими работами здесь

Тип char ошыбка в обьявлении исправте хто может
Всем здрасте! :) А почему когда я пишу так при обьявлении типа char: char...

Тип может быть равен числу, например char= 1?
Тип может быть равен числу, например char= 1? заранее спасибо.

Не могу понять почему вот так не работает запрос
Пишу сайт и админскую панель для него по технологии MVC. Есть вид &quot;добавление проекта&quot;, где есть...

Почему B6 не может делать Make?
У меня недавно началась проблема: Я же несколько раз переинсталировал VB6... Но даже самый...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru