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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Justin Case

    Justin Case

    3 EKİM 2011
  • tunez4you

    tunez4you

    20 EKİM 2008