Problema con stringhe in c

di il
18 risposte

18 Risposte - Pagina 2

  • Re: Problema con stringhe in c

    candaluar ha scritto:


    Considerando poi che non si vuole utilizzare gets() perchè "non sicura": se ci si interroga sul significato di tale affermazione si capirà come la scanf() ha potenzialmente gli stessi problemi.
    Questa non l'ho capita. Me la spieghi? La limitazione del numero dei caratteri inseriti nel buffer è effettiva, mentre in gets() è completamente assente... perché dici che danno potenzialmente gli stessi problemi?
  • Re: Problema con stringhe in c

    Questa non l'ho capita. Me la spieghi? La limitazione del numero dei caratteri inseriti nel buffer è effettiva, mentre in gets() è completamente assente... perché dici che danno potenzialmente gli stessi problemi?
    7iFF non vuole sostituire la scanf() con una gets() perchè dice che "non è sicura", senza considerare che neanche scanf() lo è (a meno di non usare una particolare stringa di formato).
    Di base scanf() non è sicura come non lo è gets() perchè non ci sono controlli sulla dimensione delle stringhe (a meno di non usare una particolare stringa di formato); cosa succede in questo caso se inserisco più di 10 caratteri:
    char str[10];
    scanf("%s", str); 
  • Re: Problema con stringhe in c

    Scusate, ma qui siamo a livello praticamente zero, e ci si preoccupa della "sicurezza" intesa come buffer overflow?
    Per un'applicazione a riga di comando ?
  • Re: Problema con stringhe in c

    Candaluar, abbi pazienza ma mi accorgo adesso che ho letto male il tuo commento. Ero convinto che avessi scritto che fgets() ha gli stessi problemi di gets(), mentre invece avevi scritto che scanf() ha gli stessi problemi di gets(). Ovvio che leggendo male poi venga da fare delle domande senza senso. Va be'... che ci vuoi fare? Fatti una risata e via.
Devi accedere o registrarti per scrivere nel forum
18 risposte