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

  • isupportthegosselins

    isupporttheg

    6 Aralık 2009
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014