MPI_FileOpen: имя файла с кириллицей
От: _hum_ Беларусь  
Дата: 14.04.18 11:36
Оценка:
Имеется что-то наподобие:

int main(int argc, char *argv[])
{
    const char*pFilName = argv[1];
 
    MPI_FileOpen(<...>, pFilName, <...>);

    <...>
};

При запуске под Win с кириллицей в имени файла функция MPI_FileOpen() не может правильно обработать это имя.
В доках по MPI_FileOpen() нигде не указано, в какой кодировке должно передаваться имя. Я предполагал, что в текущей локали, но, судя по всему, нет.

Какое здесь наиболее универсальное (в предположении кроссплатформенности) решение?

Спасибо.
Re: MPI_FileOpen: имя файла с кириллицей
От: GhostCoders Россия  
Дата: 14.04.18 11:41
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Какое здесь наиболее универсальное (в предположении кроссплатформенности) решение?

utf-8 строку не пробовали передавать?
Третий Рим должен пасть!
Re[2]: MPI_FileOpen: имя файла с кириллицей
От: _hum_ Беларусь  
Дата: 14.04.18 11:45
Оценка:
Здравствуйте, GhostCoders, Вы писали:

GC>Здравствуйте, _hum_, Вы писали:


__>>Какое здесь наиболее универсальное (в предположении кроссплатформенности) решение?

GC>utf-8 строку не пробовали передавать?

нет, не пробовал, потому как даже если получится, то это не подойдет как решение — не гарантирует, что пройдет при всех других случаях (на других платформах).
Re[3]: MPI_FileOpen: имя файла с кириллицей
От: GhostCoders Россия  
Дата: 14.04.18 11:55
Оценка:
Здравствуйте, _hum_, Вы писали:

__>нет, не пробовал, потому как даже если получится, то это не подойдет как решение — не гарантирует, что пройдет при всех других случаях (на других платформах).

не совсем понятно, какое решение ожидаете вы. подозреваю, что в таком случае универсального решения не существует,
так как на каждой платформе реализация MPI "implementation specific" по отношению с кодировке входного файла для MPI_FileOpen.
Третий Рим должен пасть!
Re[4]: MPI_FileOpen: имя файла с кириллицей
От: _hum_ Беларусь  
Дата: 14.04.18 12:00
Оценка:
Здравствуйте, GhostCoders, Вы писали:

GC>Здравствуйте, _hum_, Вы писали:


__>>нет, не пробовал, потому как даже если получится, то это не подойдет как решение — не гарантирует, что пройдет при всех других случаях (на других платформах).

GC>не совсем понятно, какое решение ожидаете вы. подозреваю, что в таком случае универсального решения не существует,
GC>так как на каждой платформе реализация MPI "implementation specific" по отношению с кодировке входного файла для MPI_FileOpen.

ну, может есть какие макросы, настройки, функции, которые позволяют переключить/узнать с какой кодировкой работают функции файловой системы...
Re[5]: MPI_FileOpen: имя файла с кириллицей
От: GhostCoders Россия  
Дата: 14.04.18 12:05
Оценка: 2 (1)
Здравствуйте, _hum_, Вы писали:

__>ну, может есть какие макросы, настройки, функции, которые позволяют переключить/узнать с какой кодировкой работают функции файловой системы...

Теперь понятно. Но данной информацией не владею.
Могу посоветовать покопаться в текущей реализации MPI (в хидер-файлах) на предмет наличия таких макросов.
А вообще, подозреваю, что MPI перебрасывает такой вызов при помощи стандартного fopen или fstream C/C++ для текущей ОС.
По опыту могу сказать что fopen\fstream на Linux поддерживают кодировку utf-8,
а вот для Windows надо передавать текущую локаль или использовать тип wchar_t. На Mac вроде тоже как utf-8 работает.
Третий Рим должен пасть!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.