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. Ég myndi best að bæta ein til viðbótar lína að númerið mitt. Einkum vegna þess að ég er nú að nota malloc, biðja fyrir minni, er það mitt ábyrgð til að losa upp að minni þegar ég er búin með það, rétt eins og við skal frjáls minni sem er gefið okkur þinn fá band. Svo á enda þessarar áætlunar, ég er að fara að bæta við einum til viðbótar línu að losa t áður en aftur 0 að kynna árangur. 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.