Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > OemToChar


Автор: Paradox 21.9.2004, 10:29
Код
char* a = "тестовая строчка";
char* b = "";
OemToChar(a,b);  

при вызове ф-ии выдается ошибка (см.рисунок)
В чем может быть проблема ?
a и b - не NULL

Добавлено @ 10:33
разобрался сам
бывает так - задашь вопрос и тут же ответ находишь, а до этого пол дня мучаешься
решение
Код
char* a = "тестовая строчка";
char* b = new char;
OemToChar(a,b);

Автор: DENNN 21.9.2004, 10:52
Цитата
char* a = "тестовая строчка"; char* b = new char;

Гы. И что, типа теперь не виснет? smile.gif

Автор: Олег М 21.9.2004, 10:56
Цитата(Paradox @ 21.9.2004, 13:29)
бывает так - задашь вопрос и тут же ответ находишь, а до этого пол дня мучаешься решение

Код  char* a = "тестовая строчка"; char* b = new char; OemToChar(a,b);

Надо char *b=new char[N]; или char b[N];

Автор: Step 21.9.2004, 11:45
это
char* a = "тестовая строчка";
char* b = new char;
OemToChar(a,b);

однозначно не праильно....

рано или позно оно даст ошибке
и проблема в том что для b выделено мало памяти....
и в некоторых случаях команда OemToChar(a,b); будет пытаться писать данные не туда куда вы ожидали...

Воспользуйтесь кодом Олег М-а

Автор: DENNN 21.9.2004, 11:58
Я думаю не лишне подсказать, что высвобождение памяти надло будет сделать так
Код

delete [] b;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)