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

Обработка текстовых файлов - C++

Восстановить пароль Регистрация
 
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
13.02.2012, 21:32     Обработка текстовых файлов #1
Я написал программу, которая выводит с файла допустим
dfgdfg
dfgdfg dfgdfg
dfgdfg dfgdfg dfdfgdf
Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream.h>
#include <conio.h>
#define maxlen 80
int main()
{
 clrscr();
 char s[50],ch;
 ifstream f("txt.txt");
 while(!f.eof())
      {
       f.getline(s,maxlen);
       cout<<s<<endl;
      }
 f.close();
 getch();
 return 0;
}
Так же написал и по символьный вывод.
Но мне нужно чтобы рядом с каждой строкой вывело сообщение о том,является ли она правильной записью шестнадцатеричного числа или нет! Вот как это сделать подскажите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 21:32     Обработка текстовых файлов
Посмотрите здесь:

Ужатие текстовых файлов C++
С использованием текстовых файлов C++
C++ Конкатенация текстовых файлов
Обработка текстовых файлов C++
Соединение 2 текстовых файлов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
13.02.2012, 21:39     Обработка текстовых файлов #2
Ну принцип такой:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main( int argc, char ** argv )
{
    char * str = "deadbeef";
 
    char * ptr = str;
 
    for( ; *ptr; ptr++ )
    {
        if( !strchr( "0123456789abcdef", tolower( *ptr ) ) )
        {
            printf( "Non-hex: %s\n", str );
            break;
        }
    }
 
    if( !*ptr )
        printf( "hex: %s\n", str );
 
    return 0;
}
Вариантов на самом деле много
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
13.02.2012, 21:40     Обработка текстовых файлов #3
Ну просто проверяем каждый символ, является ли он цифрой или буквой от A до F, и еще смотрим, не начинается ли с нуля строка.
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
13.02.2012, 21:44  [ТС]     Обработка текстовых файлов #4
Мб можно с помощью функции int isalpha(char) библиотеки <ctype.h>? Ну тогда придёться делать по символьный вывод.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
13.02.2012, 21:47     Обработка текстовых файлов #5
Неа, isalpha отбросит цифры и учтёт буквы после f. можно чуть проще:

C
1
2
3
4
if( ( *ptr >= '0' && *ptr <= '9' ) || ( *ptr >= 'a' && *ptr <= 'f' ) || ( *ptr >= 'A' && *ptr <= 'F' ) )
{
   // тогда этот символ из алфавита шестнадцатеричных
}
Yandex
Объявления
13.02.2012, 21:47     Обработка текстовых файлов
Ответ Создать тему
Опции темы

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