>> ALTAVEU 1: Ara fixarem aquest últim programa.
I aquesta vegada, anem a assignar de forma explícita part de la memòria en la qual el
entrada de l'usuari s'emmagatzemarà.
Per a això, anem a afinar en aquesta primera línia de codi on declarem s
prèviament a ser un estel de carbó.
Aquesta vegada, anem a tornar a declarar de la següent manera -
s carbó suport 16, per exemple, claudàtor de tancament.
>> En altres paraules, anem a declarar s per no ia ser una adreça de un personatge,
sinó més aviat una sèrie de 16 caràcters.
D'aquesta manera, l'usuari pot escriure en fins a 15 personatges i encara deixar espai per
acaba amb un nul.
Anem a procedir a Guardar, compilar, i executar aquest programa.
Fer scanf2 slash dot scanf2.
Ara anem a escriure una cadena com hola, i estem agrair per la salutació.
>> Ara, hi ha encara un problema.
Jo només vaig escriure hola, que només és cinc personatges, més 1 per a la hipòtesi nul · la
terminador.
Això ens deixa amb només una necessitat de sis bytes.
>> Però, per desgràcia, només es assignat 16 en total.
Així que si en realitat l'usuari escriu en 16 caràcters, o 17, o diversos centenars
caràcters, no estem encara va a tenir prou espai a la memòria per a la
d'entrada de l'usuari.
I, de fet, això és el que fa rebent l'entrada de l'usuari de manera
difícil en general.
I, de fet, és per això que implementem la funció de cadena get a la primera
lloc a la biblioteca CS50 -
per trobar la manera de manejar els situacions en què l'usuari escriu en
més caràcters que ens previst inicialment.
>> Francament, sense per complet reescriptura d'aquest programa,
no hi ha una solució clara.
Més aviat, el que hauríem de fer és aconseguir un personatge de l'usuari d'un en un
temps, una i altra vegada.
I en cada punt, si ens adonem que estem sense memòria, hauríem de a
aquest punt anar de nou i reassignar una mica més de memòria, copieu l'usuari del
d'entrada anterior del nostre primer tros de memòria en la nova,
major part de la memòria.
I després repetir el procés una i altra de nou fins que l'usuari es realitza proporcionant
la seva entrada.