06.06.2011, 20:40. Просмотров 3434. Ответов 4
Всем привет

Вот столкнулся с такой проблемой - необходимо открыть файл, путь к которому вводится в консоли. Для открытия файла использую сишную функцию fopen, при этом файлы, путь к которым содержит только латинские буквы, успешно открываются(указатель не указывает NULL), а если в пути появляются русские буквы(т.е. UTF-8), то файл просто не открывается(указатель указывает на NULL).
WinApi'шные функции CharToOem и AnsiToOem не помогли, а с функцией _wfopen не разобрался. Уважаемые эксперты, прошу Вашей помощи. Заранее благодарен

P.S. вот, собственно, сам исходник
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #include <iostream>
using namespace std;
int main()
{
char filename[1024];
cin.getline(filename, sizeof(filename));
FILE* in = fopen(filename, "r");
if(in == NULL) cout << "Error opening file";
else cout << "File was successfully opened";
system("PAUSE");
return 0;
} |
|