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

обработка символьной и строковой информации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти максимальный простой делитель числа http://www.cyberforum.ru/cpp-beginners/thread349892.html
#include <iostream> using namespace std; int main () {int i,j; int a; double x,y,max; cout << ("vvedi x"); cin >> x ; y=x/2;
C++ Какой язык программирования выбрать? Хотел спросить у модератора, но не понял как отправить личное сообщение. Подходящего раздела под вопрос тоже не нашлось. В программировании я нифига не понимаю. Нужно написать программу, и для этого... http://www.cyberforum.ru/cpp-beginners/thread349876.html
проблема с сетевой папкой C++
имеется локальная сеть соединенная через hub к ней подсоединено несколько компов. на одном из которых есть папка с общим доступом (ОС linux ubuntu) и есть ноут (ОС Win Vista) на котором эта папка...
Двухсвязный список и оператор [] C++
Здравствуйте! Очень нужна помощь, так как 4 часа поисков в интернете не дали конкретных результатов. Я в целях обучения/тренировки пытаюсь создать шаблонный класс, который бы реализовывал бы...
C++ Процедуры и функции http://www.cyberforum.ru/cpp-beginners/thread349865.html
Сформировать матрицу C(5,5) элементы которой являются значениями определенного интеграла: C(I,J)=(i+j)/20 - верхний предел I/20 -нижний предел f(x)dx Алгоритмы выполнения функциональных задач:...
C++ Поиск всех файлов Здравствуйте Задача кода найти все файлы в папке,для их дальнейшего использования Код такой: #define _WIN32_WINNT 0x0400 #include <windows.h> #include <string.h> #include <stdio.h> using... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
10.09.2011, 20:59
Подумал, и решил показать упрощенный Си вариант (strmove взял из С++ варианта) - таким образом почти не используем библиотечных функция

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <string.h> //strlen strcpy
#include <stdio.h>  //i\o
#include <ctype.h>  //toupper
#include <conio.h>  //getch
 
char * strmove(char * ptr1, char * ptr2, long size);
char * RemNumSpaces(char * str);
 
int main()
{
    char ch,str[1024];
    do
    {
        printf("Enter text (less then 1023 symbols)\r\n:>");
        scanf("%[^\n]%c",str,&ch);
        printf("\tString after removing spaces\r\n");
        printf("%s\r\n",strcpy(str,RemNumSpaces(str)));
        printf("Y - new input\r\n");
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
char * strmove(char * ptr1, char * ptr2, long size)
{
    if(ptr1 != NULL && ptr2 != NULL)
    {
        for(long i = 0; i < size; i++)
            ptr1[i] = ptr2[i];
    }
    return ptr1;
}
 
char * RemNumSpaces(char * str)
{
    if(str != NULL)
    {
        long sLen, lPos = 0;
        char * buf = strstr(str,"  ");
        while(buf)
        {
            sLen = strlen(str);
            lPos = sLen - strlen(buf);
            //string1  string2 string3
            //buf ==   string2 string3
            //strmove  -> str == string1 string2 string3
            strmove((char *)&str[lPos + 1],(char *)&str[lPos + 2],sLen - lPos - 1);
            str[sLen - 1] = '\0';
            buf = strstr(str,"  ");
        }
    }
    return str;
}
Результат работы аналогичен предыдущим!
PS:В заключение скажу, что если исходная строка str нам не нужна то можем просто выводить её по токенам (для этого нужна функция strtok - данный вариант не привожу он очень тривиален, и впринцепе уже рассмотрен здесь http://www.cplusplus.com/reference/c...string/strtok/)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru