|
OFF: Есть знающие С++ ? ...простенький вопросик наверное | ☑ | ||
---|---|---|---|---|
0
palpetrovich
29.08.13
✎
13:24
|
Что такое '\0' в if (PaidCode=='\0') если тип PaidCode - char ?
|
|||
1
fmrlex
29.08.13
✎
13:27
|
Пустая строка имхо
|
|||
2
palpetrovich
29.08.13
✎
13:28
|
+0? может так проще будет:
int CALLBACK Total(HWND hwnd, void(CALLBACK *Fn), LPARAM UI, LPSTR Comment, char PaidCode, double Amount) { char TmpFloat[200]; strcpy(TmpFloat,"%s\tP%-#.2lf"); if (PaidCode=='\0') TmpFloat[3]='P'; else TmpFloat[3]=PaidCode; sprintf(Tmp, TmpFloat, Comment, Amount); return SendCmdAll(hwnd,Fn,UI,53,Tmp); } |
|||
3
Starhan
29.08.13
✎
13:28
|
проверка на пустую строку
чар в с++ оканчивается нолем |
|||
4
palpetrovich
29.08.13
✎
13:28
|
(1) тоже так думаю, но длина типа char - как-бы 1...
|
|||
5
Wobland
29.08.13
✎
13:29
|
(4) НЕ ЗначениеЗаполнено()
|
|||
6
fmrlex
29.08.13
✎
13:29
|
(4) Тут скорее проверяется то, что в PaidCode совсем пусто
|
|||
7
palpetrovich
29.08.13
✎
13:29
|
(1)(3) ну что-ж, примем за аксиому, спасибо :)
|
|||
8
palpetrovich
29.08.13
✎
13:30
|
ок, спасибо
|
|||
9
Starhan
29.08.13
✎
13:30
|
погугли по точнее про строки в с++
|
|||
10
fmrlex
29.08.13
✎
13:32
|
(9) Еслиб передавалась строка то было бы вот так "char * PaidCode"
|
|||
11
AAlexandra
29.08.13
✎
13:33
|
(0) Строки в Си заканчиваются нулевым символом '\0'..
|
|||
12
Trotter
29.08.13
✎
13:33
|
а я думал '\0' конец строки
|
|||
13
fmrlex
29.08.13
✎
13:33
|
+(10) Строки в С не передаются никогда, только указатели.
|
|||
14
Rie
29.08.13
✎
13:35
|
(0) Это - число 0 (1-байтовое). И не более того.
|
|||
15
Rie
29.08.13
✎
13:37
|
(3) Была бы проверка на пустую строку, если бы разыменованный указатель в нулём сравнивается. А у него - просто переменная типа char.
Просто кто-то решил экономить память и чего-то кодировать именно байтами. |
|||
16
Rie
29.08.13
✎
13:37
|
(10) +1
|
|||
17
Rie
29.08.13
✎
13:37
|
(12) Или просто число 0 :-)
|
|||
18
fmrlex
29.08.13
✎
13:42
|
(17) Ну да в сях объявить строку, а потом заюзать ее как массив двубайтных целых это в порядке вещей. Едиственно, вся эта вакханалия повышает требования к уровню вменяемости разработчика.
|
|||
19
Rie
29.08.13
✎
13:44
|
(18) Просто char в C/C++ - это подтип целых. Не более того. И воспринимать его обязательно как символ - несколько неправильно.
|
|||
20
Rovan
гуру
29.08.13
✎
13:51
|
(+4) char PaidCode - это строка размером 1 (т.е. 1 символ)
|
|||
21
MKZM
29.08.13
✎
14:01
|
это коллбэк функция при нажатии функциональной клавиши. Там смотрится не нажата ли еще и какая клавиша
|
|||
22
Принт
29.08.13
✎
22:48
|
'\0' -это символ с кодом 0, Ъ!
|
|||
23
palpetrovich
30.08.13
✎
11:07
|
(21) пальцем в небо :)
Народ, а "int*" - это какой тип данных? сильнодлинныйинтеджер? :) |
|||
24
fmrlex
30.08.13
✎
11:09
|
(23) Это указатель на инт
|
|||
25
MaxisUssr
30.08.13
✎
11:10
|
(23)
Это указатель |
|||
26
Кирпич
30.08.13
✎
11:12
|
(0) хватит придуриваться. в инете валом информации по Си и Си++
|
|||
27
palpetrovich
30.08.13
✎
11:16
|
(24) спасибо
(26) я не собираюсь изучать Си++, мне просто надо из dll-ки, написанной на ней, вызвать пару-тройку функций |
|||
28
Torquader
30.08.13
✎
22:07
|
Символ с кодом 0, в Си (как и во многих других языках) это конец строки.
Поэтому, строка только из одного символа с кодом 0 на конце - это аналог "" в 1С, то есть пустой строки. Не надо путать с указателем на 0l, который по сути Null, а не строка. |
|||
29
Принт
30.08.13
✎
23:41
|
Я помню чудное мгновенье: передо мной явилось (2)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |