Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> файл из одного и того же символа, как проверить? 
V
    Опции темы
Avreol
Дата 6.6.2008, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 14.4.2008
Где: Новосибирск

Репутация: нет
Всего: нет



нужно проверить из каких символов состоит файл: из одинаковых или из разных

заранее спасибо за помощь
PM MAIL WWW ICQ   Вверх
JackYF
Дата 6.6.2008, 23:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Avreol, и в чём проблемы?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Avreol
Дата 6.6.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 14.4.2008
Где: Новосибирск

Репутация: нет
Всего: нет



эээ... проблема в том что я не знаю как это сделать))
PM MAIL WWW ICQ   Вверх
JackYF
Дата 7.6.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Считываешь поочерёдно символы из файла, запоминаешь первый символ, сравниваешь все остальные с ним. Если есть хоть одно различие - ответ "нет". В противном случае - ответ положительный.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Avreol
Дата 7.6.2008, 05:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 14.4.2008
Где: Новосибирск

Репутация: нет
Всего: нет



smile в общем то я знаю как это сделать) а вот как это в коде реализовать)) наверно fgets надо изпользовать?
PM MAIL WWW ICQ   Вверх
bronislav
Дата 7.6.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 29.1.2008
Где: Украина::Донецк

Репутация: 2
Всего: 3



Ну если тебе на C++, то можно и 
Код

ifstream fi( "file.txt" );
fi.get();



--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
JackYF
Дата 7.6.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



fgetc в цикле.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Avreol
Дата 7.6.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 14.4.2008
Где: Новосибирск

Репутация: нет
Всего: нет



ну вот.. не работает че-то smile 
Код

#include <stdio.h>

int main(){
    
    char a;
    char b;
    
    a=fgetc("a.txt");
    while(b!=EOF){
        b=fgetc("a.txt");
        if (a!=b){
            printf ("R\n");
            return 1;
        }
    }
    printf ("O\n");
    return 0;
}


PM MAIL WWW ICQ   Вверх
bsa
Дата 7.6.2008, 18:46 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Avreol, ты б хоть документацию на fgetc почитал. А так же на fopen, feof и fclose
PM   Вверх
Avreol
Дата 7.6.2008, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 14.4.2008
Где: Новосибирск

Репутация: нет
Всего: нет



читал)) если честно не помогло)

#include <stdio.h>
int fgetc(FILE *stream);

 smile 

напишите кто-нибудь кусок работающего кода который все это делает)) пожалуйста


PM MAIL WWW ICQ   Вверх
bsa
Дата 7.6.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Код
#include <stdio.h>

int main()
{
   FILE *fd = fopen("file.txt", "rt"); //открываем текстовый (t) файл "file.txt" на чтение (r)
   if (fd != NULL) { //если файл открылся
      char a, b;
      a = fgetc(fd);
      b = a;
      while( (!feof(fd)) && (a == b) ) //читаем пока файл не кончится или пока не будет найден отличный от первого символ
          b = fgetc(fd);
      if (b < 0)
         printf("File contains only symbol '%c'\n", a);
      else
         printf("File contains not only one symbol\n");
      fclose(fd); //закрываем файл
   } else {
      perror("Unable to open file \"file.txt\": "); //выводим сообщение об ошибке
      return 1; //возврат ненулевого значения, так как свою задачу не выполнили
   }
   return 0; //успешный выход
}

PM   Вверх
bronislav
Дата 8.6.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 29.1.2008
Где: Украина::Донецк

Репутация: 2
Всего: 3



Цитата(bsa @  7.6.2008,  20:50 Найти цитируемый пост)
if (b < 0)

Может тут должно быть
Код

if(b == a)



--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
bsa
Дата 9.6.2008, 11:48 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



bronislav, а ты почитай документацию на fgetc  smile 
PM   Вверх
dumb
Дата 9.6.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 3
Всего: 158



bsa, сам почитай! smile

Код
111я111
ы? smile
PM MAIL   Вверх
bsa
Дата 9.6.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



dumb, ну описАлся просто, с кем не бывает?  smile 

Avreol, надо в строке 7 заменить char на int, иначе есть проблемы с символами, чей код больше 127.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.