LINUX.ORG.RU

[C] Разбить ввод на блоки

 


0

0

Всем привет. Нужно постоянно считывать stdin, т.е.

while((fgets(buff,LINE_MAX,stdin))!=NULL)
потом разбивать полученные данные на 4-байтовые блоки, т.е. думаю создать массив, строки для хранения, столбцы для индекса.
char ch[3][MAX];
и записывать туда данные. Или как по другому лучше поступить?!


Ответ на: комментарий от aunt

Индекс здесь ни при чем, в объявлении указывается количество элементов массива. a[4] - массив из четырех элементов.

unsigned ★★★★
()
Ответ на: комментарий от aunt

> ну так индекс. с 0 нач.

При объявлении массива указывается размерность, а не индекс.

Zitzy
()
Ответ на: комментарий от unsigned

>a[4] - массив из четырех элементов. да точно, не о том подумала

aunt
() автор топика
Ответ на: комментарий от unsigned

мне нужно читать входной поток, потом разбивать его на блоки по 4-байта, если не кратно 4 добавить нули, и эти блоки передавать в функцию обработки.

aunt
() автор топика
Ответ на: комментарий от aunt
add = (pos - buf.ch) % 4;
n = (pos - buf.ch) / 4;
if(add) {
  memset(pos, 0, 4 - add);
  ++n;
}
for(i = 0; i != n; ++i)
  myfunc(buf.blocks[i]);

Я бы сделал примерно так, только проверить надо.

unsigned ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.