попробуйте это, он требует фиксированной ширины, если это нормально с вами: 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;
}
Вам необходимо выделить копию 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) обычно является гораздо более подходящей структурой данных.