@Femid
Мутант

Как собрать числа и строки в одну для записи в файл?

В каждой строке номер, фамилия, группа, число 1, число 2, число 3
Нужно из всех строк вычленить каждый элемент и записать в отдельную строку:
номер1, номер2, ...
и т.д.
Записывать в общую строку надо форматируя.
int k, i, nom, o1, o2, o3,pp;
char fam[12], gr[8];
char *fams, *grs, *oc1, *oc2, *oc3, *noms;
char *g, l[12];
noms = new char[k * 12];
fams = new char[k * 12];
grs = new char[k * 12];
oc1= new char[k * 12];
oc2 = new char[k * 12];
oc3 = new char[k * 12];
for (int i = 0; i < k; i++) {
//получение g
sscanf(g, "%d %s %s %d %d %d", &nom, gr, fam, &o1, &o2, &o3);
sprintf(l, "%-12d",  nom);
strcat(noms, l);
sprintf(l, "%-12s", gr);
strcat(grs, l);
sprintf(l, "%-12s", fam);
strcat(fams, l);
sprintf(l,"%-12d", o1);
strcat(oc1, l);
sprintf(l,"%-12d",o2);
strcat(oc2, l);
sprintf(l,"%-12d",o3);
strcat(oc3, l);
}

Не смотрите что память выделяется как в C++, остальное нужно в си
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Spargwy
20 годиков. Голанг баккенд девелопер
Сделай вместо записи каждой строки в отдельный одномерный массив, запись в двумерный. В итоге у тебя должна получиться база, которая хранит все эти строки. Затем создай массив длиной, допустим, в 1000 символов.
Ну а затем с помощью циклов считывай содержимое двумерного массива в одномерный.

Это так навскидку.
Я, кстати, не очень понял, что форматировать при записи надо?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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