Оказывается, в C99 можно выделять массивы на стеке в рантайме:
```C
int i, arr[i+1];
scanf("%i", &i);
```
Фича называется variable length arrays: http://gcc.gnu.org/onlinedocs/gcc-4.7.2/...
*c
А как мне проверить, что scanf() дочитал строку до конца? Например, я делаю scanf("%i", ...), а пользователь вводит 123abc — 123 прочитается, а abc останется на вводе до следующего scanf() (или read(), или что там будет читать ввод). Как убедиться, что такого не случиться?
В моём сервере есть два UPD-сокета. В бесконечном цикле крутится код, который с помощью poll ждёт POLLIN и делает recvfrom() на каждом готовом сокете. Кроме того, отдельная нить с помощью этих же сокетов что-то отправляет. Всё это месиво работает, а вот клиент падает, жалуясь на Bad file descriptor.
Таких же ... more →
Пишу UDP-сервер. Он биндит пару сокетов (вообще хз сколько, это от результата getaddrinfo зависит) и висит на них poll'ом. При получении сообщения он запоминает адресс клиента в структуре sockaddr_storage. Время от времени ему нужно что-то отправлять клиентам, и тут всплывает проблема: клиенты могут быть подключены ... more →
http://www.akkadia.org/drepper/userapi-i... — Userlevel IPv6 Programming Introduction
Узнал сегодня об одной интересной штуке, которую сам автор назвал «calls table». Применяется она тогда, когда у нас есть некий union (который, есстественно, обёрнут в struct и сопровохжается флагом, указывающим на тип, причём значения флага принадлежат некому enum) и мы хотим по-разному обрабатывать его содержимое ... more →
Псто, в связи с повышающимися расходами на жильё мне нужна онлайн-работа (в смысле, связь с работодателем по инету, а не ножками в контору топать) с неполным рабочим днём.
Кратко о себе: линуксоид-дебианщик с почти трёхлетним стажем, более-менее владею Си (написал пару патчей для любимого pdf ридера Zathura), ... more →
Господа, а подскажите-ка мне, пожалуйста, могу ли я обработку ошибок после стандартных вызовов выделять в функии? Например, у меня в программе во многих местах используется fork(), и после каждого pid = fork() приходится писать вот что:
if(pid == -1) {
perror("Error in fork():");
exit(126);
}
Собственно, ... more →
*c is used by:
gelraen
gelraen
Hirthwork McGillah
hirthwork
Оранжевус Охуеннус
utros
analizer
analizer
16+
238328
профессиональный говноед
ulidtko
kb
kb
Minoru
Minoru
werehuman
werehuman
4DA
4da
Nico-izo
Nico-izo
SirAnthony
SirAnthony
dorfe
dorfe
eoranged
eoranged
lexszero
lexszero
L29Ah
L29Ah
jabber
jabber
няша
generatorglukoff
Michael Pogoda
MPogoda
asmer
asmer
Лисий хвост
madInsane
Артс
arts
Mагог Магогович
magog
Марсианская улиточка
gisty
Maxim Kirenenko
part1zano
K900
K900
Darth Bricktop
Like-all
nya
nya
i
inst
Проба оперения
17eyes
Владимир
xaos
Oleg Tsarev
zamotivator
Maxim Barzunov
zweipluse
nstm0
nstm0
polatov
polatov
0x2207
0x2207
eurekafag
eurekafag
DOMr
DOMr
Forth EMU
emu
anonkz
anonkz
carnero
carnero
Джордж Ричмонд
richmond
Rejjin
Rejjin
gelraen
hirthwork
utros
analizer
238328
ulidtko
kb
Minoru
werehuman
4da
Nico-izo
SirAnthony
dorfe
eoranged
lexszero
L29Ah
jabber
generatorglukoff
MPogoda
asmer
madInsane
arts
magog
gisty
part1zano
K900
Like-all
nya
inst
17eyes
xaos
zamotivator
zweipluse
nstm0
polatov
0x2207
eurekafag
DOMr
emu
anonkz
carnero
richmond
Rejjin