- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
//void wyslij(int pin, char mode[] = "open") { //было
void wyslij(int pin, int mode) { //стало
if (pin != -1)
{
if (mode == "open")
{
//...
else if ( (mode == "touch") && ( (error != 1) || (olej_error == 1) ) )
bormand 17.11.2012 16:50 # +5
[кэп]Работать будет пока компилятор объединяет одинаковые константы в одну. Ну и пока кто-то не додумается передать туда не константу.[/кэп]
inkanus-gray 17.11.2012 18:29 # 0
Указатели-то побыстрее, чем строки, сравниваются.
bormand 17.11.2012 19:13 # 0
gb12335 18.11.2012 01:00 # +1
defecate-plusplus 18.11.2012 01:03 # +2
gb12335 18.11.2012 01:05 # 0
http://ideone.com/OjmQni
Скажем, мы эти строчки считали из файла =)
defecate-plusplus 18.11.2012 01:19 # +2
gb12335 18.11.2012 01:20 # +1
defecate-plusplus 18.11.2012 01:39 # +1
gb12335 18.11.2012 01:45 # −1
defecate-plusplus 18.11.2012 01:52 # +1
все библиотечные функции, работающие со строками, работают с указателем - им нужен указатель в регистре
код в топике тоже оперирует указателем
bormand 18.11.2012 10:41 # +2
bormand 18.11.2012 10:43 # +1
inkanus-gray 17.11.2012 18:36 # +6
defecate-plusplus 17.11.2012 18:52 # +4
+ "открыть", "потрогать"
Xom94ok 17.11.2012 19:08 # +1
Но "вислый" мне больше нравится :-)
guest 17.11.2012 19:40 # +2
Psionic 19.11.2012 03:38 # 0
Govnocoder#0xFF 18.11.2012 17:19 # +2
> mode == "open"
> числовая переменная сравнивается со строкой
> Cи
WTF_am_I_reading.jpg
movaxbx 18.11.2012 22:20 # +2
bormand 18.11.2012 22:26 # +5
TarasB 18.11.2012 22:32 # 0
bormand 18.11.2012 22:36 # +2
TarasB 18.11.2012 22:44 # +4
Бля, у тебя кавычки одинарные.
Наебал, наебал...
LispGovno 19.11.2012 07:37 # −1
defecate-plusplus 19.11.2012 07:52 # +2
LispGovno 19.11.2012 08:52 # −1
А если я напишу в винде: 'ху', то получу однобайтовую кодировку, если "ху", то однобайтовую кодировку, а если L"ху", то UTF16?
defecate-plusplus 19.11.2012 09:14 # +4
компилятор всё, что встретит русского в '' или "" будет считать, как тупо последовательность байт, которую записал программист
и ему будет всё равно, это был UTF-8 или бНОПНЯ, или cp-866
в частности, русский текст исходного кода на никсовом ideone был UTF-8, и потому в программе он ведет себя как UTF-8
а если ты запишешь L"", это будет const wchar_t array[N];
LispGovno 19.11.2012 09:48 # −1
""- в какой кодировке написал, то и будет, понятно.
А если написать L"", то gcc придется провести перекодировку в wchar_t. Студия соответственно перекодирует в UTF16, а gcc в UTF32. Так вот как студия и gcc определят исходную кодировку, ведь чтобы перекодировать - её нужно знать. Ключами компиляции как-то указывается?
И ещё получается, если исходник в кодировке UTF16 под виндой или UTF32 под линухом, то мы в "" получаем wchar_t, но зариентерпреткастенный в обычный char[N]?
defecate-plusplus 19.11.2012 10:03 # +2
кстати, поддерживает ли gcc 4.x BOM - не знаю
вот 3.х, сука, точно не поддерживает - периодически студия сохраняет русско-содержащие файлы в utf-8, и потом у gcc возникают непреодолимые трудности - как раз тот случай, если видишь эту ошибку в первый раз, то не понимаешь, что случилось
roman-kashitsyn 19.11.2012 00:45 # +3