>> DAVID J. Malan: Svo kemur í ljós að afrita band er ekki nærri eins
einfalt og afrita frumstætt, eins og int eða fljóta.
Eftir allt, undir hetta band er runa stafir.
Svo afrita streng, því hefur til falið að afrita að heil röð af
stafir.
>> Skulum snúa athygli okkar aftur til að síðasta framkvæmd og rífa út þetta
lína, band T er jafnt og S, þar sem greinilega var ekki nóg.
Skulum skipta um það með línu sem lítur í staðinn, eins og þetta.
String T fær malloc snærisspotta lengd s auk 1 sinnum á stærð við bleikju.
>> Nú er það vitna dálítið fara á í þessari línu af kóða.
First, malloc, stutt fyrir minni úthlutun, og
virka ekki bara þessi.
Gefið heiltala, skilar það þér á heimilisfang klumpur af minni
sem margir bæti.
Á meðan, the band lengd s plús 1 er ætlað að gefa til kynna að við viljum sem
margir bæti og s occupies nú þegar, þ.mt null Terminator þess, að
sviga 0 í lok streng.
>> Á sama tíma, ég er ekki endilega man hversu stór bleikju er, jafnvel
þó á flestum kerfum það er einfaldlega 1 bæti, þannig að ég hringi stærð bleikju til
reikna út breytilega hversu stór einstaklingur eðli er.
Þegar margfaldað saman, fæ ég aftur að heildarfjöldi bytes sem ég þarf.
>> En hvað ef malloc nær ekki að skila minni við þurfum?
Ég myndi besta athuga fyrir það sem hér segir.
Ef t jafnt null, þá er ég fyrst að fara til að losa s, minni aftur eftir fá
band, og þá ætla ég að skila 1, að signify villa.
>> En ef allt er vel, ég ætla að halda áfram að nota fjögurra lykkja og kunnugt er
eins og hér segir.
Fyrir int i fá 0, n er jafnt og band lengd s.
Ég ætla að gera þetta svo lengi sem ég er minna en eða jafnt n þannig að ég
iterate upp í gegnum og með null stöðvast eðli í s.
>> Og á hverri ítrun, ég er fara að hækka i.
Á sama tíma, inni þessa lykkju, afrita s i-th eðli í i-th T
staðsetningu, nægir það til að gera t krappi ég fær s krappi i.
>> Skulum nú spara, safna saman, og keyra þetta nýja áætlun.
Gerðu afrit 1 punktur skástrik eintak 1.
Og ég ætla að segja eitthvað eins og halló í öllum lágstöfum.
Og sem betur fer, í þetta sinn minn Upprunalega óbreytt.
halló í öllum lágstöfum.
En afrit er reyndar eignar.