в догонку вопрос ... про кодировку - Ansi -> Dos и обратно
file.exe t:\Клиент
а так как приложение (file.exe) консольное оно воспринимает ентот Клиент, как виндовую кодировку и не хочет никак реагировать внутри... как мне перекодировать ???
P.S. да... пытался в досовской кодировке задать название папку... так же ноль эмоций :о((
и так... входящий параметр для программы директория на сетевом диске... названная по-русски, то есть запускаю
file.exe t:\Клиент
а так как приложение (file.exe) консольное оно воспринимает ентот Клиент, как виндовую кодировку и не хочет никак реагировать внутри... как мне перекодировать ???
P.S. да... пытался в досовской кодировке задать название папку... так же ноль эмоций :о((
AnsiToOem
ну и обратная..
AnsiToOem
ну и обратная..
хммм.. но если я перевожу таким образом... точнее функция OemToChar у меня переведенная строка не хочет соединяться с другой -
примерно так:
argv[1] = "W:\Клиент"; // входной параметр
// далее
char *t;
OemToChar(argv[1], t);
char *s = strcat(t, "\\file.exe"); //fatal error тут.... я просто указываю на файл в папке клиент
хммм.. но если я перевожу таким образом... точнее функция OemToChar у меня переведенная строка не хочет соединяться с другой -
примерно так:
argv[1] = "W:\Клиент"; // входной параметр
// далее
char *t;
OemToChar(argv[1], t);
char *s = strcat(t, "\\file.exe"); //fatal error тут.... я просто указываю на файл в папке клиент
char* ar;
char *s;
ar = new char;
ar = "w:\\Клиент" ;
// далее
char *t = new char;
s = new char;
OemToChar(ar, t);
s = strcat((char*)t, "\\file.exe"); //fatal error тут.... я просто указываю на файл в папке клиент [/QUOTE]
Memo1->Text=(AnsiString)s;
char* ar;
char *s;
ar = new char;
ar = "w:\\Клиент" ;
// далее
char *t = new char;
s = new char;
OemToChar(ar, t);
s = strcat((char*)t, "\\file.exe"); //fatal error тут.... я просто указываю на файл в папке клиент
Memo1->Text=(AnsiString)s; [/QUOTE]
ммм... дело в том, что "W:\Клиент" идет как внешний параметр, т.е. argv[1]!!
и вознкает проблема с именем папки (т.к. по-русски).. вроде как argv[1] получается виндовой кодировки, и в консольом приложении, каким является file.exe эта папка не определяется правильно....
Memo1->Text=(AnsiString)s;
ммм... дело в том, что "W:\Клиент" идет как внешний параметр, т.е. argv[1]!!
и вознкает проблема с именем папки (т.к. по-русски).. вроде как argv[1] получается виндовой кодировки, и в консольом приложении, каким является file.exe эта папка не определяется правильно.... [/QUOTE]
Ничего не понял, в чем проблема, строка нормально переводится ?? Только тебе наоборот из дос в виндовс кодировку надо прочел фаил и айда.. и чего не так ??
еще раз: я в командной строке ввожу
file.exe w:\Клиент -> ENTER
кодировка виндовая так ? ....
file.exe приложение консольное... обрабатывает этот путь... короче ищет файл по этому пути.... но найти не может , т.к. не может прочитьать имя папки на русском языке.... (с латинскими названиями все у-порядке).
если я смотрю WATCH то там типа
s= W:<каля-маля>\\board.exe - нужный файл...
КАК мне вместо этого <каля-маля> получить "\\Клиент" ??
я сам уже ни хера не понимаю :о((
еще раз: я в командной строке ввожу
file.exe w:\Клиент -> ENTER
кодировка виндовая так ? ....
file.exe приложение консольное... обрабатывает этот путь... короче ищет файл по этому пути.... но найти не может , т.к. не может прочитьать имя папки на русском языке.... (с латинскими названиями все у-порядке).
если я смотрю WATCH то там типа
s= W:<каля-маля>\\board.exe - нужный файл...
КАК мне вместо этого <каля-маля> получить "\\Клиент" ??
Ну так сделай виндовскую кодеровку, изначально видемо она у тебя таковой не является..
Ну так сделай виндовскую кодеровку, изначально видемо она у тебя таковой не является..
так елы палы... как же не является если я в виндовой командной строке пишу..
ну или как это сделать ??
так елы палы... как же не является если я в виндовой командной строке пишу..
ну или как это сделать ??
Если там виндовс кодировка то зачем ты кодировки туда сюда гоняешь все и так должно работать..
1) пРОВРЬ ПРАВИЛЬНОСТЬ КАТАЛОГА И НАЛИЧИЕ В НЕМ ФАЙЛА
2)И посмотри чего пbшtт GetLastError
И вообще призадумайся, сам.. , на форуме сидят не телепаты..
На чем писано? BCB5?