回覆列表
-
1 # 人形吐槽蘑菇
-
2 # WaterSui
不能,strncpy函式是複製前n個位元組資料到目標地址,並不存在進位制轉換
-
3 # 在努力的小張
1)字串操作
strcpy(p, p1)複製字串
strncpy(p, p1, n)複製指定長度字串
strcat(p, p1)附加字串
strncat(p, p1, n)附加指定長度字串
strlen(p)取字串長度
strcmp(p, p1)比較字串
strncmp(p, p1, n)比較指定長度字串
strchr(p, c)在字串中查詢指定字元
strrchr(p, c)在字串中反向查詢
strstr(p, p1)查詢字串
strpbrk(p, p1)以目標字串的所有字元作為集合,在當前字串查詢該集合的任一元素
strspn(p, p1)以目標字串的所有字元作為集合,在當前字串查詢不屬於該集合的任一元素的偏移
strcspn(p, p1)以目標字串的所有字元作為集合,在當前字串查詢屬於該集合的任一元素的偏移
*具有指定長度的字串處理函式在已處理的字串之後填補零結尾符
2)字串到數值型別的轉換
strtod(p, ppend)從字串p中轉換double型別數值,並將後續的字串指標儲存到ppend指向的char*型別儲存。
-
4 # 美麗人生一生平安543
strncpy函式用於將指定長度的字串複製到字元陣列中,是 C語言的庫函式之一,來自C語言標準庫,定義於 string.h。語法形式為:char *strncpy(char *dest, const char *src, int n),表示把src所指向的字串中以src地址開始的前n個位元組複製到dest所指的陣列中,並返回被複制後的dest。
我們知道,strcpy 是依據 /0 作為結束判斷的,如果 to 的空間不夠,則會引起 buffer overflow。strcpy 常規的實現程式碼如下(來自 OpenBSD 3.9):
char *
strcpy(char *to, const char *from)
{
char *save = to;
for (; (*to = *from) != "/0"; ++from, ++to);
return(save);
}
但是如果還要考慮執行效率的話,也許strlcpy是一個更好的方式。