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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск слов в файле, не получается 
:(
    Опции темы
getUp
Дата 22.10.2009, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



почему не ищутся слова на русском языке?

Код

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std; 

void main()
{
    setlocale(LC_ALL,"Russian");
    char Buf;
    FILE *file;
    char *word1=new char[];
    char *word2=new char[];
    cin >> word1;
    cin >> word2;
    char *current_str=new char[];
    file = fopen("D:\\omg2.txt", "rt");

    while((Buf = fgetc(file)) != EOF) { 
        fgets(current_str, 4000, file);
        if ((strstr(current_str, word1))!=NULL){
            cout<<"нашлось 1е слово";
        }
        if ((strstr(current_str, word2))!=NULL){
            cout<<"нашлось 2е слово";
        }
    }    
    fclose(file);
}



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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(getUp @  22.10.2009,  21:30 Найти цитируемый пост)
    char *word1=new char[];
    char *word2=new char[];

А какого размера вы буферы создаете?
PM MAIL ICQ   Вверх
getUp
Дата 22.10.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а разве обязательно нужно указывать это?

с английскими словами работает
PM MAIL   Вверх
Anikmar
Дата 22.10.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(getUp @  22.10.2009,  21:38 Найти цитируемый пост)
а разве обязательно нужно указывать это?

Когда выделяется память под строку вообще-то нужно указывать размер.

Цитата(getUp @  22.10.2009,  21:38 Найти цитируемый пост)
с английскими словами работает 

Работать некоторое время может и будет. 

По существу.
С английскими проще, русский к сожалению не первым номером идет. Так что изучаем применяемые кодировки. Консоль работает в windows-кодировке (собственно ее вы вводити руками), а в каком формате файл я не знаю, но подозреваю, что в DOS (ANSI)

Так что экспериментируем с функциями CharToOem и OemToChar.


PM MAIL ICQ   Вверх
Dims
Дата 29.10.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

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



Я тоже считаю, что различаются кодировки. Проверьте в отладчике, что попадает в переменные из файла, а что из консоли.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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