|
WinAPI работа с wchar_t | ☑ | ||
---|---|---|---|---|
0
men47
10.06.14
✎
21:08
|
Подскажите, а то что-то туплю.....
есть wchar_t *a1="Hello"; wchar_t a2[200]; нужно закинуть из a1 в a2, пытаюсь сделать через wcscat(a2, a1); ошибка wcscpy(a2, a1); тоже ошибка.... подскажите, как правильно будет "сложение" строк |
|||
1
quest
10.06.14
✎
21:13
|
Правильно так -
(defparameter *a1* "Hello") (defparameter *a2* "world") (concatenate 'string *a1* " " *a2*) |
|||
2
men47
10.06.14
✎
21:14
|
(1)Правильно ли я вас понял
wchar_t *a1="Hello"; wchar_t a2[200]; (defparameter *a1* "Hello") (defparameter *a2* "world") (concatenate 'string *a1* " " *a2*) |
|||
3
men47
10.06.14
✎
21:15
|
(1) мне просто нужно работать именно с wchar_t
|
|||
4
men47
10.06.14
✎
21:39
|
(1) либо я не так делаю, либо я не знаю, т.к. прога пишет не известный индентификатор на defparameter
|
|||
5
H A D G E H O G s
10.06.14
✎
21:40
|
Правильней будет установить Delphi 2010 и забыть секас с C++ строками как страшный сон.
|
|||
6
men47
10.06.14
✎
21:42
|
(5) Если бы было все так просто, я б в 1с сделал=))) но нужно именно в WinAPI сделать....
|
|||
7
H A D G E H O G s
10.06.14
✎
21:46
|
(6) Дельфи работает с WinAPI только влет. И stdcall вызовы поддерживает и обертки на весь экспортный свежак есть.
|
|||
8
H A D G E H O G s
10.06.14
✎
21:48
|
А если чего-то нет - пишем импорт, хоть в статике, хоть в динамике в виде процедуры - заготовки (не помню как называется).
|
|||
9
Кирпич
10.06.14
✎
21:50
|
(5) а скока стоит delphi 2010?
|
|||
10
men47
10.06.14
✎
21:53
|
(8) мне именно в с++ нужно=))
|
|||
11
H A D G E H O G s
10.06.14
✎
21:54
|
(9) Я уж и не помню. Порядка штуки баксов. Ее может позволить себе каждый 1Снег.
|
|||
12
men47
10.06.14
✎
21:56
|
ехехе.... что мне так и никто не поможет с Char'ками=((
|
|||
13
Кирпич
10.06.14
✎
21:58
|
(12) http://www.cplusplus.com тебе поможет
|
|||
14
Кирпич
10.06.14
✎
21:59
|
(11) денег жалко. Лучше даром lazarus, а штуку честно пропить.
|
|||
15
men47
10.06.14
✎
22:00
|
(13) Т_Т
|
|||
16
Кирпич
10.06.14
✎
22:03
|
(15) это чо?
|
|||
17
men47
10.06.14
✎
22:05
|
(16) это пичаль..
|
|||
18
Кирпич
10.06.14
✎
22:06
|
(17) интернета нету. Понимаю. Не где посмотреть.
|
|||
19
Эмбеддер
10.06.14
✎
22:08
|
а что wcscpy(a2, a1) падает? я всегда так делал
|
|||
20
men47
10.06.14
✎
22:10
|
(19) да.... падает=((
|
|||
21
Эмбеддер
10.06.14
✎
22:13
|
а если так (хотя там ноль в конце и так должен быть)
wchar_t *a1=L"Hello\0"; |
|||
22
men47
10.06.14
✎
22:14
|
(21) нет...
|
|||
23
Эмбеддер
10.06.14
✎
22:16
|
похоже проблема в чем-то другом, вот пример, там все так же
http://www.cplusplus.com/reference/cwchar/wcscpy/ |
|||
24
xReason
10.06.14
✎
22:19
|
в swift такого безобразия нету
|
|||
25
Эмбеддер
10.06.14
✎
22:20
|
по-моему упасть может только если сделать так
wchar_t a1[100]=L"Hello"; wchar_t a2[200]; wcscpy(a2, a1); потому что в 1-й строке не будет завершаюшего нуля, когда инициализируем массив, а не указатель на строку |
|||
26
Кирпич
10.06.14
✎
22:24
|
У меня работает
nt _tmain(int argc, _TCHAR* argv[]) { wchar_t *a1 = L"Hello "; wchar_t a2[200] = L""; wcscat(a2,a1); wcscat(a2,L"World!"); wprintf(a2); return 0; } |
|||
27
men47
10.06.14
✎
22:27
|
(23) так ну нашел в чем проблема
wcscpy_s(a2, a1); но, проблема небольшая осталась у меня тут просто цикл, определяется а1 каждый раз новый, и мне нужно сложить, что определилось в а2 т.е. например wchar_t *a1="Hello"; wchar_t *a3 = "world"; wchar_t a2[200]; wcscpy_s(a2, a1); wcscpy_s(a2, a3); но почему-то он выдает в a2 "world", а не "Hello world" |
|||
28
Кирпич
10.06.14
✎
22:31
|
(27) ты определись, копируешь или соединяешь
|
|||
29
men47
10.06.14
✎
22:32
|
(26) если я строю через
wcscat_s(а2, а1); выдает ошибку Microsoft Visual C++ Runtime Library Debug Assertion Faild! бла бла бла..... Line:32 Expression: (L "String os not null terminated" && 0) бла бла бла |
|||
30
Кирпич
10.06.14
✎
22:34
|
(29) издеваешься? Я тебе уже написал как правильно. И не только я.
|
|||
31
Кирпич
10.06.14
✎
22:35
|
A2 надо инициализировать. Нолик туда запихнуть.
|
|||
32
men47
10.06.14
✎
22:39
|
(31) блин=))) спасибо
|
|||
33
Эмбеддер
11.06.14
✎
05:56
|
а вообще надо так
wcscpy_s(a2, a1); wcscat_s(a2, a3); |
|||
34
ADirks
11.06.14
✎
06:50
|
(5) В C++ строки нормальные. Это в mfc за 20 лет так и не смогли написать нормальной работы со строками. Ушлёпки. Десять версий строковых типов, и 377 версий разных функций для работы с разными типами. "wcscpy_s: Copy a string. These are versions of strcpy, wcscpy, _mbscpy with security enhancements" - китайцы там плотно окопались, ага.
кстати, про конкатенацию. у нормальных перцев это выглядело бы примерно так: char dest[100]; char* ptr = dest; ptr = strcpy(ptr, a1); ptr = strcpy(ptr, a3); ... |
|||
35
oleg_km
11.06.14
✎
09:27
|
В 10-м рантайме вроде есть класс по работе со строками, там по-моему есть append и все такое. У дочери недавно читал в учебнике
|
|||
36
H A D G E H O G s
11.06.14
✎
12:01
|
(34) C++ просто прекрасен в плане работы со строками, когда ты понимаешь что такое shortstring, null terminated string, widestring, ansistring, array of char, умеешь работать с указателями, параметрами функций по значению или по ссылке, и понимаешь их.
C++ просто прекрасен для челов, проработавших несколько лет с ЯП класса C++, именно для поддержания мозга в тонусе, Специальная такая олимпиада. Для нубов он говнянен. Для нубов - Дельфя. Теперь вопрос - спец, взращенный на Дельфе - перейдет ли на гейтсо мерский C++ (пусть будет даже от Embarcadero) добровольно? Дурных - нема. Максимум будут извращенцы типа меня в варианте "а давай попробую". Попробуют, посмотрят на C++ как-то недовольно, свирепо и в то же время грустно и с недоумением и снесут ее накер. |
|||
37
oleg_km
11.06.14
✎
12:25
|
(37) Какой смысл обсуждать С++? Дельфи развивается и С++ в исполнении MS превратилось в C#. Я тоже помню как на турбо паскале нужно было заботиться о выделении памяти, отслеживать границы сегментов и пр.
|
|||
38
Кирпич
11.06.14
✎
12:26
|
Каждый москаль любит паскаль! Хохлы уси пишуть на си!
|
|||
39
H A D G E H O G s
11.06.14
✎
12:28
|
(38) Браво!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |