25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
1

Как привести Int к строке, а затем удалить последний символ из строки

29.06.2017, 16:25. Показов 2012. Ответов 25
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
 
using namespace std;
int main(){
    
    int num;
    char string_num[100];
    char new_symbols;
 
    cin >> num;
 
    sprintf(string_num, "%d", num);
 
    new_symbols = string_num.GetLength();
 
    cout << string_num;
 
    return 0;
 
}
насколько я понимаю, эта строка приводит Int к Char
C++ (Qt)
1
sprintf(string_num, "%d", num);
теперь нужно отрезать последний символ у строки, не могу понять как. Все, что в гугле пишут, на это компилятор выдает одну и ту же фразу

error C2228: выражение слева от "НАЗВАНИЕ_НАГУГЛЕННОЙ_ФУНКЦИИ" должно представлять класс, структуру или объединение
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2017, 16:25
Ответы с готовыми решениями:

Как в строке AnsiString удалить последний символ?
Как в строке AnsiString удалить последний символ? Подскажите, а то я чего-то подзабыл, еще вчера я...

Как удалить последний символ из строки?
Здравствуйте, мне нужно удалить последний символ из char* сама строка получается здесь из формы:...

Как удалить из строки последний символ?
Господа, не могу врубиться как удалить из строки последний символ? Я читал мануал, но так и...

Как удалить последний символ строки(голову в стеке)
struct List { int x; List *Next,*Head;} ; void Add (int x, List **MyList) {

25
3944 / 2858 / 665
Регистрация: 08.06.2007
Сообщений: 9,662
Записей в блоге: 4
29.06.2017, 16:38 2
Вы много написали неправильного. Но придираться не буду, а отвечу на вопрос, как отрезать последний символ от того, что у вас получилось (это вовсе не строка)
C++
1
string_num[strlen(string_num)-1]=0;
0
Рэмбо комнатный
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
29.06.2017, 16:40 3
C++
1
2
3
4
5
6
7
#include <string> 
...
string temp;
int n; cin >> n;
temp=to_string(n);
temp.erase(temp.length()-1,1);
n=stoi(temp);
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 16:42 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
using namespace std;
int main() {
 
    int num;
    cin >> num;
    string string_num = to_string(num);
    string_num.erase(string_num.length()-1,1);
    cout << string_num << endl;
    system("pause");
    return 0;
 
}
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 16:42  [ТС] 5
GeFacle, ловлю ошибку

to_string: идентификатор не найден
0
Рэмбо комнатный
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
29.06.2017, 16:43 6
Цитата Сообщение от Mashka_mulashka Посмотреть сообщение
to_string: идентификатор не найден
C++
1
to_String
попробуйте
а нет, все четко std::to_string
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 16:44  [ТС] 7
GeFacle, тоже самое
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 16:44 8
Mashka_mulashka, потому что пространство имен std. Можете добавить std::to_string или воспользоваться моим кодом.
0
Рэмбо комнатный
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
29.06.2017, 16:45 9
пространство имен то подключайте, с++ как никак)
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 16:46  [ТС] 10
YarRainbow, to_String: не является членом "std" . С to_string Тоже самое.

ну и я вроде делаю using namespace std;

Добавлено через 14 секунд
YarRainbow, to_String: не является членом "std" . С to_string Тоже самое.

ну и я вроде делаю using namespace std;
0
Рэмбо комнатный
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
29.06.2017, 16:47 11
Mashka_mulashka, пардон, а вы используете тип string или char?
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 16:48  [ТС] 12
GeFacle, string
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 16:51 13
Mashka_mulashka, вы мой код пробовали? IDE какая?
0
Рэмбо комнатный
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
29.06.2017, 16:51 14
Mashka_mulashka, не работает говорите?
Миниатюры
Как привести Int к строке, а затем удалить последний символ из строки  
1
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 16:52  [ТС] 15
GeFacle, YarRainbow, возможно, проблема в том, что у меня Visual C++ 2008 ?
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 16:56 16
GeFacle, аналогично. Расходимся

Добавлено через 3 минуты
Mashka_mulashka, да это функция из 11го стандарта похоже.
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 17:00  [ТС] 17
YarRainbow, боюсь спросить...а что нужно сделать что бы поставить 11й стандарт?)

Сегодня на работе появилось свободное время и было принято решение начать изучать С++, однако у меня стоит виртуальная машина windows 7 и на ней не запускались ни СLION ни Visual Studio. Только вот этот вот 2008 года
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 17:01 18
Можете свой шаблон добавить в начале (после #include <string>)
C++
1
2
3
4
5
6
7
8
9
#include <sstream>
 
template <typename T>
std::string to_string(T value)
{
    std::ostringstream os ;
    os << value ;
    return os.str() ;
}
А лучше обновитесь до visual studio 2017 и не кошмарьте людей..)
0
25 / 25 / 11
Регистрация: 13.12.2011
Сообщений: 818
29.06.2017, 17:05  [ТС] 19
YarRainbow,

error C2228: выражение слева от ".str" должно представлять класс, структуру или объединение

Добавлено через 1 минуту
YarRainbow, mvs встанет на openSuse ?
0
68 / 51 / 27
Регистрация: 27.04.2015
Сообщений: 203
29.06.2017, 17:15 20
Вообще никак?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <sstream>
 
template <typename T>
std::string to_string(T value)
{
    std::ostringstream os;
    os << value;
    return os.str();
}
 
int main() {
 
    int num;
    std::cin >> num;
    std::string string_num = to_string(num);
    string_num.erase(string_num.length()-1,1);
    std::cout << string_num << std::endl;
    system("pause");
    return 0;
}
Добавлено через 59 секунд
Mashka_mulashka, не спрашивайте, я с линукс не балуюсь) Помог чем мог.

Добавлено через 7 минут
Цитата Сообщение от Mashka_mulashka Посмотреть сообщение
Сегодня на работе появилось свободное время и было принято решение начать изучать С++, однако у меня стоит виртуальная машина windows 7 и на ней не запускались ни СLION ни Visual Studio. Только вот этот вот 2008 года
Изучайте теорию на работе, а практику дома %)
Кодить на 2008 студии в 2017 году - это, мягко скажем, извращение. Хотя научиться и на ней можно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2017, 17:15
Помогаю со студенческими работами здесь

В заданной строке удалить последний символ пробел, который найдется в строке
Здравствуйте, можете помочь с методом удаления последнего пробела в строке?

Если длина строки четная, то удалить каждый второй символ, если нечетная, то удалить первый и последний символ
Помогите пжл. решить задачу. Дана строка если ее длина четная то удалить каждый второй символ,...

Строка: Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки?
Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки? ...

Удалить последний символ в строке
Нужно если последний символ в переменной / удалить его! напирмер $str = 'http://site.ru/'; ...


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

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

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