Задача: Надо написать функцию который находит в строке цифры и заменяет их на десятичные коды. Например "aaa'6'xxx" на "aaa54xxx".
Я попробовал таким способом:
#include <iostream>
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#include <sstream>
#include <string>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
int asc, pust;
char stroka[100];
cin>> stroka;
int length = strlen(stroka);
for (int i = 0; i < length; i++) {
cout << stroka[i] << endl;
if ('0' <= stroka[i] && stroka[i] <= '9') {
asc = int(stroka[i]);
cout << asc << endl;
// Но, У меня не получается преобразовать int (asс) к char и
// заменить его. Можете подсказать как можно это реализовать?
// В моем случае надо цифру 54 преобразовать на char, и заменить с
// шестеркой
pust = stroka[i];
stroka[i] = asc;
asc = pust;
}
}
cout << stroka << endl;
system("pause");
return 0;
}
Но, У меня не получается преобразовать int (asс) в char и
заменить его. Можете подсказать как можно это реализовать?
В моем случае надо найти символ 6 и заменить на его десятичный код(54).
Это можно сделать намного проще, используя строковые переменные. Написал очень простенькую программу, которая проходит по заданной строке, и переписывает её в новую строку.Надеюсь, идею поняли)
#include<string>
#include<iostream>
using namespace std;
int main() {
string stroka1;
string stroka2;
cin >> stroka1;
for (int i = 0; i < stroka1.length(); i++) {
if ('0' <= stroka1[i] && stroka1[i] <= '9') {
stroka2 += to_string((int)stroka1[i]); //Если символ строки - цифра, то заменяем её
}
else
stroka2 += stroka1[i];// иначе просто переписываем то,что было
}
cout << stroka2;
system("pause");
return 0;
}
Пример как это сделать с помощью std::stringstream
:
#include <sstream>
#include <string>
#include <iostream>
int main()
{
std::string stroka;
std::stringstream ss;
cin >> stroka;
for (int i = 0; i < stroka.size(); ++i)
{
if(isdigit(stroka[i]))
{
ss << int(stroka[i]);
}
else
{
ss << stroka[i];
}
}
std::cout << ss.str() << std::endl;
return 0;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
не могу создать соединение между сервером и клиентом по tcp/ip на Linux MintКомпилирую через gcc
Первый вопрос: почему если не указать fixed значение вернется в экспоненциальной форме? Второй вопрос: почему если поставить fixed, то вернется...
Помогите понять почему в консоли ошибка Uncaught SyntaxError: Unexpected token '}'