>>792=>>815
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct {
    char name[256];
    unsigned age;
    unsigned height;  // cm
} PERSON;
int cmp(const void * e1, const void * e2) {
    const PERSON * p1 = e1;
    const PERSON * p2 = e2;
    return strcmp(p1->name, p2->name);
}
int main(int argc, char ** argv) {
    FILE * in_f, * out_f;
    unsigned n, i;
    PERSON data[256];
    if (argc < 3) return 1;
    if ((in_f = fopen(argv[1], "r")) == NULL) return 1;
    if ((out_f = fopen(argv[2], "w")) == NULL) {fclose(in_f); return 1;}
    for (n = 0; n < 256 && fscanf(in_f, "%256s%u%u", data[n].name, &data[n].age, &data[n].height) == 3; ++n) ;
    qsort(data, n, sizeof(PERSON), cmp);
    for (i = 0; i < n; ++i) 
        fprintf(out_f, "%s %u %u\n", data[i].name, data[i].age, data[i].height);
    fclose(in_f); fclose(out_f);
    return 0;
}