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

Замена чисел в строке - C++

Восстановить пароль Регистрация
 
garethspurs
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 5
06.12.2012, 02:03     Замена чисел в строке #1
условие: в строке заменить все числа на введенное с клавиатуры
выдает ошибку:
Unsigned(c+1)<=256.
вот код:
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
#include<iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL,"rus");
    char *s=new char[100], *s1=new char[100];
    char *cnum=new char[6];
    cin.getline(s,100);
    cin.getline(cnum,6);
    int i,j,m;
    i=j=0;
    while(s[i])
    {
        if(!isdigit(s[i]))
            while(!isdigit(s[i]))
                s1[j++]=s[i++];
        while(isdigit(s[i]))
            ++i;
        m=0;
        while(cnum[m])
            s1[j++]=cnum[m++];
    }
    s1[j]=0;
    
    cout<<s1;
}
если я содержимое цикла запущу один раз, то все идеально работает(ну разумеется отредактирует он до первого попавшегося числа) а если засуну обратно в цикл то уже выдает ошибку
что тут может быть такое?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 02:03     Замена чисел в строке
Посмотрите здесь:

C++ Замена в строке символов
Замена слов в строке C++
Замена знаков в строке C++
замена символов в строке C++
C++ Замена символов в строке
Замена символов в строке C++
Замена слова в строке C++
C++ Замена чисел в строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 22:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru