Bezpieczne operowanie łańcuchami C
… #define STR_MAX_LEN 20
char buf[STR_MAX_LEN + 1]; // 20 znaków + NULL
strncpy(buf, sSourceString, STR_MAX_LEN);
buf[STR_MAX_LEN] = 0;// ostatni znak zawsze musi być NULL
Zadeklaruj zmienną buf tak aby mogła przechować 20 znaków i oczywiście nie możesz zapomnieć o znaku NULL kończącym łańcuch ( ang. Null-Terminated string ). Następnie skopiuj maksymalnie 20 znaków. Mógłbyś się także posłużyć wyrażeniem " sizeof buf - 1 " zamiast stałej STR_MAX_LEN …
Najświeższe komentarze