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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2010, 21:27   #1
scripto
Пользователь
 
Регистрация: 21.10.2010
Сообщений: 15
По умолчанию Проблема char

Помогите пожалуйста.У меня следующая функция
Код:
int GetFileName(HWND hWnd) 
{	OPENFILENAME ofn;
 char szFilters[80]="Файлы с графами\0*.gr\0Текстовые файлы\0*.txt\0 Все файлы\0 *.*\0";
 char szFileTitle[15];
 FileName[0]='\0';

 memset(&ofn,0,sizeof(OPENFILENAME));
 ofn.lStructSize=sizeof(OPENFILENAME);
 ofn.hwndOwner=hWnd;
 ofn.lpstrFilter=szFilters;
 ofn.nFilterIndex=1;
 ofn.lpstrFile=FileName;
 ofn.nMaxFile=(int)sizeof(FileName);
 ofn.lpstrFileTitle=szFileTitle;
 ofn.nMaxFileTitle=sizeof(szFileTitle);
 if(GetOpenFileName(&ofn))
   return 1;
 else
   return 0;
}
и выдает ошибку невозможно преобразовать 'char [80]' в 'LPCWSTR'.
Как исправить?Visual2008.Пример работающий у других,а у меня нет.
Пытался следующим образом:
OPENFILENAME ofn;
TCHAR szFilter[80] = L"TextFiles\0 *.txt\0";
TCHAR szFileTitle[80];
FileName[0] = '\0';
szFileTitle[0] = '\0';
memset(&ofn,0,sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hWnd;
ofn.lpstrFilter = szFilter;
ofn.nFilterIndex = 1;
ofn.lpstrFile = FileName;
ofn.nMaxFile = sizeof(FileName);
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof(szFileTitle);

int a = GetOpenFileName(&ofn);
if(GetOpenFileName(&ofn))
return 1;
else
return 0;


но GetOpenFileName все врем возращает 0.как исправить?

Последний раз редактировалось rpy3uH; 19.12.2010 в 11:35.
scripto вне форума Ответить с цитированием
Старый 18.12.2010, 21:35   #2
scripto
Пользователь
 
Регистрация: 21.10.2010
Сообщений: 15
По умолчанию

Проблема в том,что я использую набор знаков:использовать юникод кодировку.Так что помогите пожалуйста исправить второй вариант функции.почему она возвращает 0 после выбора файла?
scripto вне форума Ответить с цитированием
Старый 19.12.2010, 21:50   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://programmersforum.ru/showthrea...hlight=Unicode
читать мой первый ответ.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка cannot convert from 'char *' to 'char [100]' Stellvertreter Общие вопросы C/C++ 5 30.05.2010 00:02
Проблема с переводом из char в число alenka_ej Помощь студентам 0 08.05.2010 13:47
С++.Чтение из файла - проблема с массивом типа char. AgIon Общие вопросы C/C++ 4 07.12.2009 00:39
Проблема с char v01umE Общие вопросы C/C++ 4 03.07.2008 21:37
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17