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

  • boburnham

    boburnham

    11 Temmuz 2006
  • HowToBasic

    HowToBasic

    8 Aralık 2011
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011