Portál AbcLinuxu, 31. října 2025 12:39
 Popravdě jakmile jsem ve zdrojáku viděl třikrát ručně napsanou konstantu 256, přestal jsem to studovat.
Ale ať jsem tedy aspoň trochu konstruktivní:
Popravdě jakmile jsem ve zdrojáku viděl třikrát ručně napsanou konstantu 256, přestal jsem to studovat.
Ale ať jsem tedy aspoň trochu konstruktivní:
  odpoved=(char*)malloc(sizeof(char)*256);
...
  for (i=0;i<=256;i++) 
        if (odpoved[i]=='\n') odpoved[i]='\0';
Stane se, no...
            
Nerozumiem presne co si tym chcel povedat, alebo to mam ku tvojej spokojnosti prepisat takto:
            
#define DLZKA
  odpoved=(char*)malloc(sizeof(char)*DLZKA);
...
  for (i=0;i<=DLZKA;i++) 
        if (odpoved[i]=='\n') odpoved[i]='\0';
!= ... přece si to budeme pamatovat, že mez je o jednu menší ... já si to nikdy nepamatuji, proto raději používám "nerovná se"  .
.
            select se vám nelíbil?
             31.7.2006 11:44
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        31.7.2006 11:44
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        help select
            # select ano in ano nie; do echo napisal si $REPLY; break; done 1) ano 2) nie #? 2 napisal si 2
asi este stale nechapem, ako spravit aby ked dam 2 napisalo "napisal si nie"
select ano in ano nie; do echo napisal si $REPLY; break; done 1) ano 2) nie #? nie napisal si nie??
 
            REPLY=`question "Otazka" -nodefault ano nie; echo napisal si $REPLY Otazka (ano/nie): anoo (akoze preklep) Otazka (ano/nie): ano napisal si anoNieje to lepsie?
REPLY použít tu proměnnou, do které jste si výsledek nechal uložit, tedy ano?
            select name in ano nie; do
    if [[ ! -z $name ]]; then
        echo napisal si $name
        break
    fi
done
1) ano
2) nie
#? 3
#? 4
#? 5
#? 2
napisal si nie
semo@nb ~ $    
            select ano in ano nie; do echo napisal si $REPLY; break; done 1) ano 2) nie #? 3 napisal si 3
hmm... nieje to to prave orechove...
ano, číslo v REPLY.
            1. Na buffer overflow už jste byl upozorněn.
2. Nikde nevidím, že byste dealokoval pointer, který jste dostal malloc(). Jistě, systém to po vás uklidí, ale po vzoru klasika bych řekl: "To neděláš dobře, Jaromíre, jednou se ti to vymstí."
3. Parsování parametrů je velmi chaotické a neošetřuje spoustu situací, se kterými jste nepočítal. Např. pokud je použit přepínač '-nodefault', je '-nodefault' považováno i za platnou odpověď.
4. Vyžadovat, aby byl přepínač až za argumentem je dost neobvyklé a v tomto případě neopodstatněné.
5. Nemíchejte odsazování mezerami a tabulátory.
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.