SORU
24 Kasım 2008, PAZARTESİ


Nasıl C konsolundan bir satır okumak

Bir C tam bir satırı okumak için en kolay yolu program konsol nedir Metin girilen değişken uzunlukta olabilir ve içeriği hakkında herhangi bir tahminde bulunamayız.

CEVAP
24 Kasım 2008, PAZARTESİ


Dinamik Bellek Yönetimi gerekir, ve fgets işlevi satırı okumak için kullanın. Ancak, okumak nasıl görmek için bir yol var gibi görünüyor. Fgetc kullanın:

char * getline(void) {
    char * line = malloc(100), * linep = line;
    size_t lenmax = 100, len = lenmax;
    int c;

    if(line == NULL)
        return NULL;

    for(;;) {
        c = fgetc(stdin);
        if(c == EOF)
            break;

        if(--len == 0) {
            len = lenmax;
            char * linen = realloc(linep, lenmax *= 2);

            if(linen == NULL) {
                free(linep);
                return NULL;
            }
            line = linen   (line - linep);
            linep = linen;
        }

        if((*line   = c) == '\n')
            break;
    }
    *line = '\0';
    return linep;
}

NotAsla kullanmak alır ! Kontrol sınırları ve taşması olabilir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009