ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1601  
Старый 20.09.2008, 20:41
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
По умолчанию

Есть такой вопросик: почему не работает ф-я CharToOem() в Visual Studio2008(C++9), тоесть ругается с ошибкой
error C2664: 'CharToOemW' : cannot convert parameter 1 from 'char [7]' to 'LPCWSTR'

В С++ 6 все отлично работало, а тут не хочет, может кто знает в чем тут проблема?

char z[] = "ПревеД";
CharToOem(z,z);

Последний раз редактировалось horlyk; 20.09.2008 в 21:06..
 

  #1602  
Старый 20.09.2008, 21:19
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Юзай уникод, ВС9 заточена под уникод

wchar_t *wcString = L"Preved";
 

  #1603  
Старый 20.09.2008, 21:47
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
По умолчанию

а немного по подробнее можно? как к примеру вывести на консольный экран:
char z[] = "ПревеД";
puts(z);
чтобы на консоле отображало ПревеД а не хз что. А то я попробовал то что ты написал, так там цифры одни.
И еще, можно както глобально делать перекодировку в ср1251 без CharToOem()? а то немного напряжно постоянно использовать эту ф-ю для каждой переменной.
И все же, как тут правильно использовать CharToOem()? интересно всетаки что они изменили.
 

  #1604  
Старый 20.09.2008, 22:25
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

horlyk, первый параметр CharToOem - источник, второй - приемник. Просто IMHO, я бы не совмещал их. Хз что может произойти, это, конечно, зависит от реализации.
Тем более NecroSoft MSDN вот что выдает
Цитата:
Return Value

The return value is always nonzero except when you pass the same address to lpszSrc and lpszDst in the wide-character version of the function. In this case the function returns zero and GetLastError returns ERROR_INVALID_ADDRESS.

Так... теперь немножко теории.

wchar_t это по сути дело тот же short. Потому, используя, cout ты получаешь на выходе цифры.

Теперь перейдет в "раздел как это решить".
использовать wcout. Он нормально вывод уникод. Можешь написать свою функцию, которая будет вызывать CharToOem и выводить. Можешь вызывать

setlocale(LC_ALL, "Russian");

она тоже ничего
 

  #1605  
Старый 21.09.2008, 12:39
zindi
Участник форума
Регистрация: 11.04.2007
Сообщений: 219
Провел на форуме:
982101

Репутация: 13
По умолчанию

а лутше просто поставь в настройках проекта мульти байт код и должно работать.
 

  #1606  
Старый 21.09.2008, 13:31
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
По умолчанию

чет я немного не догоняю, wcout тож не хочет русские букви выводить.

wchar_t z[7] = L"ПревеД";
wcout << z << endl;

пробовал и просто чар. Плз, напишите ктото маленький примерчик.
 

  #1607  
Старый 21.09.2008, 15:31
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Код:
#include <iostream>
#include "stdafx.h"

using std::wcout;

int _tmain()
{
	wchar_t *wcString = L"ненене";
	setlocale(LC_ALL, "Russian");
	wcout << L"дадада!" << L" " << wcString << std::endl;
	_wsystem(L"pause");
	return 0;
}
 

  #1608  
Старый 21.09.2008, 21:26
bxN5
Постоянный
Регистрация: 08.01.2006
Сообщений: 865
Провел на форуме:
3279330

Репутация: 343


Отправить сообщение для bxN5 с помощью ICQ
По умолчанию

как прописать свою софтинку в автозагрузку? (нужен пример кода)
 

  #1609  
Старый 21.09.2008, 21:40
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

2bxN5
http://www.softholm.com/articles/register.html
 

  #1610  
Старый 22.09.2008, 19:50
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
По умолчанию

тэк-с, вроде где-то пробегала пред моими глазами инфа о том, что это может сама консоль не поддерживать (русский язык имею ввиду)
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ