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

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • Ty Moss

    Ty Moss

    20 Kasım 2007