Как прочитать значение из структуры из GList?

попробуйте это, он требует фиксированной ширины, если это нормально с вами: http://jsfiddle.net/trpeters1/qvZKw/20/

HTML:

This is my text inside a div and I want the overf|low of the text to be cut

CSS:

.col { 
   width:120px; 
    overflow: hidden;
   white-space:nowrap;

 }​

-1
задан Brian 17 January 2019 в 17:38
поделиться

1 ответ

Вам необходимо выделить копию mytype_t в куче для каждого его экземпляра, который вы добавляете в связанный список. Обратите внимание на значение &myt в каждом вызове g_list_append(): оно будет одинаковым для каждого значения i, поскольку оно относится к одному и тому же фрагменту стековой памяти.

Вы можете сделать это с:

mytype_t *myt = g_new0 (mytype_t, 1);
myt->a = i;
l = g_list_append (l, myt);

в вашем цикле.

Обратите внимание, что вызов g_list_append() в цикле стоит O (N ^ 2), так как он должен выполнять итерацию по длине списка каждый раз, чтобы найти конец. В общем, использование связанного списка - плохая идея, а массив указателей (GPtrArray в GLib) обычно является гораздо более подходящей структурой данных.

0
ответ дан Philip Withnall 17 January 2019 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: