есть:
#define BUSIZ 256;
char buf[BUFSIZ+1];
заполненый строками разделенными '\n’. В конце’\0\′.
//open file
file=open(filename,O_RDONLY);
if (file<0)
{
perror(«open config»); exit(2);
}
//read file
nread = read(file,buf,BUFSIZ);
if (nread<0)
{
perror(«read config»);exit(3);
}
//EOF marker
buf[nread]=’\0\′;
Так же есть:
char *install[6][50];
char *paths[6][50];
Надо:
Из buf построчно закидать строки в каждый из массивов. Т.е первую в install первой, вторую в paths первой, третью в install второй, четвертую в
paths второй и так далле. В каждом массиве 6 элементов, длинной 50 символов….
Потом надо из install каждый элелмент перевести в
struct GList {
gpointer data;
GList *next;
GList *prev;
};
методом
GList* g_list_append (GList *list_element, gpointer data);
gpointer равносильно «qwe»
list = g_list_append (list, «first»);
КАК?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Я не понял. У тебя ведь buf одномерный, какие еще в нем строки? В нем только \n\n\n\n……\n\n\n\0
Вот и все. Какие еще строки надо закидать? То ли у меня мозги опухли посчле чтения RFC, то ли ты нечетко вопрос поставил.
В buf есть
aaaaa\nbbbbbb\nccccc\nddddd\0
надо
в install[Y][X]
aaaaa
ccccc
в paths[Y][X]
bbbbb
ddddd
1) можно попробовать в цикле по idx через sscanf(buf, «%s\n%s\n%s», &install[idx], &path[idx], &next_buf_value);
2) либо честно через strpos() и strncpy()
полечил через strtok