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

Удаление из строк - C++

Восстановить пароль Регистрация
 
pyshkinC
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 33
08.01.2012, 15:42     Удаление из строк #1
Удаление из строк всех букв со сжатием строк ( остаются цифры и символы)
PS Дано: 2 строки по 80 символов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2012, 15:42     Удаление из строк
Посмотрите здесь:

C++ удаление строк из файла
C++ удаление нулевых строк и столбцов
C++ Удаление строк из файла
Удаление из строк C++
C++ Удаление последних строк.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
08.01.2012, 16:10     Удаление из строк #2
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
#include <stdio.h>
#include <ctype.h>
 
void remove_alpha(char* s)
{
    char* dest = s;
    for(; *s; ++s)
        if(!isalpha(*s))
            *dest++ = *s;
    *dest = '\0';
}
 
int main()
{
    char s1[80];
    char s2[80];
 
    printf("s1: ");
    gets(s1);
 
    printf("s2: ");
    gets(s2);
 
    remove_alpha(s1);
    remove_alpha(s2);
 
    printf("s1: %s\n", s1);
    printf("s2: %s\n", s2);
}
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 16:12     Удаление из строк #3
Цитата Сообщение от pyshkinC Посмотреть сообщение
Удаление из строк всех букв со сжатием строк ( остаются цифры и символы)
PS Дано: 2 строки по 80 символов.
- язык Си/С++???Строки как даны - как строковые литерали, записаны в файле, вводятся вручную?
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 16:30     Удаление из строк #4
Цитата Сообщение от pyshkinC Посмотреть сообщение
Удаление из строк всех букв со сжатием строк ( остаются цифры и символы) PS Дано: 2 строки по 80 символов.
- на плюсах это может выглядеть вот так(число строк в файле может быть произвольным, длинна строки тоже)
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;
 
std::string remAlphas(std::string s)
{
    for(int i = 0; i < s.length(); i++)
    {
        if(isalpha(s[i]))
        {
            s.erase(i,1);
            i--;
        }
    }
    return s;
}
 
int main()
{
    string line;
    string text;
    ifstream ifs("data.txt");
    if(!ifs)
        cerr<<"Error open data.txt\n";
    else
    {
        cout<<"Text in file\n";
        while(getline(ifs,line))
        {
            cout<<line.c_str()<<endl;
            text += remAlphas(line);
            text += "\n";
        }
        ifs.close();
        cout<<"text after removing alphas\n";
        cout<<text.c_str();
    }
    system("pause");
    return 0;
}
Содержимое data.txt
sdgsdgfdg1fd1gd4g1ds-vdsvsd adab n,.00.xf5gs5g
safdsa'gd4vsdv45+9sgd
Миниатюры
Удаление из строк  
pyshkinC
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 33
08.01.2012, 17:04  [ТС]     Удаление из строк #5
Спасибо, все работает

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
void remove_alpha(char* s)
{
    char* dest = s;
    for(; *s; ++s)
        if(!isalpha(*s))
            *dest++ = *s;
    *dest = '\0';
}
 
void del() 
{
    FILE * fp;
    char x[81];
 
    fp = fopen ( "C:\\temp\\new\\file.txt" , "r+" );
    fgets (x , 81 , fp) ;
    remove_alpha(x);
    printf("s1: %s\n", x);
        fgets (x , 81 , fp) ;
    remove_alpha(x);
    printf("s2: %s\n", x);
    fclose (fp);
 
 
}
Yandex
Объявления
08.01.2012, 17:04     Удаление из строк
Ответ Создать тему
Опции темы

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