Пт дек 14, 2018 09:23:21
Пт дек 14, 2018 09:39:45
Пт дек 14, 2018 09:49:04
Пт дек 14, 2018 10:01:36
Аlex писал(а):Не понятно, зачем Psych изобретает велосипед. Видимо, исторя об этом умалчивет...
WiseLord писал(а):Хотя и здесь, возможно, правильнее было бы использовать .c_str().
Аlex писал(а):c_str вернёт константный указатель
Пт дек 14, 2018 10:14:34
Да, действительно. Правда, не константный указатель (вряд ли это вызвало бы проблему), а указатель на константу (что и не даёт в эту область памяти писать).Аlex писал(а):c_str вернёт константный указатель. Запихнуть его в strcpy не получится.
char d[]="fsdhfghf";
string s="dfs12";
strcpy(d,&s[0]);
char d[]="fsdhfghf";
string s="dfs12";
strcpy(d, s.c_str());
Пт дек 14, 2018 10:15:27
Пт дек 14, 2018 22:28:32
Пт дек 14, 2018 23:56:13
Сб дек 15, 2018 03:06:19
Ср дек 19, 2018 09:36:23
#define _UDR CONCAT(UDR,MP3_USART)
#define _UCSRA CONCAT(CONCAT(UCSR,MP3_USART),A)
#define _UCSRB CONCAT(CONCAT(UCSR,MP3_USART),B)
#define _UCSRC CONCAT(CONCAT(UCSR,MP3_USART),C)
#define _UBRRH CONCAT(CONCAT(UBRR,MP3_USART),H)
#define _UBRRL CONCAT(CONCAT(UBRR,MP3_USART),L)
../mp3_task.c:35:24: error: pasting ")" and "H" does not give a valid preprocessing token
#define __UBRR CONCAT(UBRR,MP3_USART)
^
avr_helper.h:7:24: note: in definition of macro '_CONCAT_'
#define _CONCAT_(x,y) x ## y
^
../mp3_task.c:36:17: note: in expansion of macro 'CONCAT'
#define _UBRRH CONCAT(__UBRR,H)
^~~~~~
avr_helper.h:9:22: note: in expansion of macro '_CONCAT_'
#define CONCAT(y,x) _CONCAT_(y,x)
^~~~~~~~
../mp3_task.c:35:17: note: in expansion of macro 'CONCAT'
#define __UBRR CONCAT(UBRR,MP3_USART)
^~~~~~
../mp3_task.c:36:24: note: in expansion of macro '__UBRR'
#define _UBRRH CONCAT(__UBRR,H)
^~~~~~
../mp3_task.c:227:4: note: in expansion of macro '_UBRRH'
_UBRRH = UBRRH_VALUE;
^~~~~~
../mp3_task.c:37:31: error: pasting ")" and "L" does not give a valid preprocessing token
#define _UBRRL CONCAT(CONCAT(UBRR,MP3_USART),L)
^
avr_helper.h:7:24: note: in definition of macro '_CONCAT_'
#define _CONCAT_(x,y) x ## y
^
../mp3_task.c:37:17: note: in expansion of macro 'CONCAT'
#define _UBRRL CONCAT(CONCAT(UBRR,MP3_USART),L)
^~~~~~
avr_helper.h:9:22: note: in expansion of macro '_CONCAT_'
#define CONCAT(y,x) _CONCAT_(y,x)
^~~~~~~~
../mp3_task.c:37:24: note: in expansion of macro 'CONCAT'
#define _UBRRL CONCAT(CONCAT(UBRR,MP3_USART),L)
^~~~~~
../mp3_task.c:228:4: note: in expansion of macro '_UBRRL'
_UBRRL = UBRRL_VALUE;
^~~~~~
Ср дек 19, 2018 09:38:41
Ср дек 19, 2018 11:00:31
#define _tl(x) CONCAT(x,L)
#define _th(x) CONCAT(x,H)
#define _UBRRH CONCAT(UBRR,_th(MP3_USART))
#define _UBRRL CONCAT(UBRR,_tl(MP3_USART))
Ср дек 19, 2018 12:01:04
Ср дек 19, 2018 12:12:40
не просто подобна, а она и есть. сейчас причесал и так работает:WiseLord писал(а):Похоже, что фишка подобна этой:
#define _UBRRH CONCAT(UBRR,CONCAT(MP3_USART,H))
вот такой он, строго стандартизированный язык Си...WiseLord писал(а):не до конца понятно, почему с разными буквами ведёт по-разному
Ср дек 19, 2018 18:14:47
Ср янв 09, 2019 19:18:44
typedef struct{
char about_a[CNT];
char about_f[CNT];
char about_d[CNT];
char about_i[CNT];
char about_t[CNT];
} n_t;
typedef struct{
int x;
n_t y;
}my_t;
my_t var = {
.x = 12,
.y = {"1"} // <--- WARNING: missing braces around initializer
};
Ср янв 09, 2019 21:12:55
my_t var = {
.x = 12,
.y = {{"1"}}
};
Чт янв 10, 2019 08:30:12
my_t var = {
.x = 12,
.y = {.about_a="1", .about_f="1", .about_d="1", .about_i="1", .about_t="1"}
};
Чт янв 10, 2019 12:17:19
my_t var = {
.x = 12,
.y = {{.about_a="1"}, {.about_f="1"}, {.about_d="1"}, {.about_i="1"}, {.about_t="1"}}
};
Чт янв 10, 2019 12:44:01