Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2012, 15:21   #1
molniya26
 
Регистрация: 28.10.2012
Сообщений: 6
Вопрос Как работать со словами (C++)

Здравствуйте! В работе с WinAPI я новичек, поэтому возник такой вопрос: Как лучше работать со словами (Unicode)? Мне нужно в файле найти определенное слово и заменить его на другое. Как открыть файл и работать с ним я разобрался, а вот как найти слово и заменить его - нет. В книгах написаны только основные операции со строками, а как к ним обращаться не написано.

Если можно, расскажите какими функциями и как лучше воспользоваться для решения данной задачи.
molniya26 вне форума Ответить с цитированием
Старый 28.10.2012, 16:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

язык какой?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.10.2012, 18:18   #3
molniya26
 
Регистрация: 28.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
язык какой?
C++. В заголовке писал.
molniya26 вне форума Ответить с цитированием
Старый 28.10.2012, 19:10   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

посмотрите на класс std::wstring и так же на широкие С-строки(wchar_t*)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.10.2012, 22:16   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

molniya26

В работе с WinAPI я новичек, поэтому возник такой вопрос: Как лучше работать со словами (Unicode)

если ты пишешь на c++, нет необходимости обращаться к winapi (тем более что это сложнее и дольше). язык имеет все средства для работы с широкими строками

Код:
std::wifstream ifs;
ifs.open(...);

std::wstring word;

while (ifs >> word)
    std::wcout << word << std::endl;
этот код выведет список всех слов в текстовом файле (словом считатеся последовательность символов, разделенная пробелами)

тут правда есть одна тонкость, если говорить о Visual Studio.
Версии до 2010 работают с юникодовыми файловыми потоками через жопу весьма кривовато, чтобы нормально читать символы нужно определить собственный фасет (который компилятором штатно не предоставляется) (подробнее про это можно почитать у Старуструпа)
В Visual Studio 2010 и выше с юникодом все в полном порядке.
Rififi вне форума Ответить с цитированием
Старый 28.10.2012, 23:36   #6
molniya26
 
Регистрация: 28.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
molniya26

если ты пишешь на c++, нет необходимости обращаться к winapi (тем более что это сложнее и дольше). язык имеет все средства для работы с широкими строками
Мне по заданию нужно именно с использованием WinAPI
molniya26 вне форума Ответить с цитированием
Старый 29.10.2012, 00:24   #7
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

molniya26

Мне по заданию нужно именно с использованием WinAPI

гоогле CreateFile - открыть файл, ReadFile - читать данные
Rififi вне форума Ответить с цитированием
Старый 29.10.2012, 09:23   #8
molniya26
 
Регистрация: 28.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
molniya26
гоогле CreateFile - открыть файл, ReadFile - читать данные
Да с этим проблем вообще нет. Мне не очень понятно как именно работать с текстом...
molniya26 вне форума Ответить с цитированием
Старый 30.10.2012, 13:02   #9
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Цитата:
Сообщение от molniya26 Посмотреть сообщение
Да с этим проблем вообще нет. Мне не очень понятно как именно работать с текстом...
С каким конкретно текстом? Если уже со считанным в строку, то читай про работу со строками.
rmv240899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как работать с INSERT INTO vitaliy1911 SQL, базы данных 5 03.03.2012 18:32
Windows-программа + web-обвязка, как связать и как заставить работать? Человек_Борща Общие вопросы по программированию, компьютерный форум 3 23.04.2011 19:07
С++. Что и как можно внести в DLL и как потом с этим работать? dampirik Помощь студентам 5 21.09.2009 08:19
Как обрезать строку между двумя словами vitaleg PHP 3 28.07.2009 20:32
Обьясните как работать с графикой и как решыть задачу Alex_Fort Помощь студентам 6 12.06.2009 00:05