[ VirtualPoP @ 21.02.2007. 20:59 ] @
Pozdrav svima! Molim za malo objasnjenje. Izgleda da nisam najbolje shvatio kako rade funkcije strcpy strncpy. Naime kako sam shvatio strcpy prima dva argumenta i kopira drugi u prvi. Kako sam shvatio ako je izvor veci od destinacije pise van bafera. Zasto onda u donjem kodu: Code: { char string1[]="No man is an island."; char string2[9]; strcpy(string2,string1); cout<<"string1: "<<string1<<endl; cout<<"string2: "<<string2<<endl; } dobijam izlaz: string1: island. string2: No man is an island. Zasto se promenio string1, ovako bi valjda trebao da izgleda string2? U drugom primeru strncpy prima treci argument tako da bude manji od broja clanova string1. Code: { char string1[]="No man is an island."; char string2[11]; strncpy(string2,string1,10); cout<<"string1: "<<string1<<endl; cout<<"string2: "<<string2<<endl; } Po objasnjenju iz knjige ocekivao sam da iskopira samo 10 znakova. ali dobijam sledeci izlaz: string1: No man is an island. string2: No man is ¦¦No man is an island. Zasto? Hvala unapred. |