使用標準功能strcpy
在頭<string.h>
宣稱複製的字符串中的字符陣列
#include <string.h>
//...
char greeting[50];
strcpy(greeting, "Zack");
有在頭<string.h>
也可用於在字符數組複製字符串聲明其他功能。例如
memcpy
strncpy
strcat
strncat
使用strcat
代替strcpy
#include <string.h>
//...
char greeting[50];
greeting[0] = '\0';
strcat(greeting, "Zack");
陣列的例子有沒有賦值運算符。所以編譯器會發出此代碼中的錯誤片斷
char greeting[50];
greeting = "Zack";
但是,當你可以指定字符數組的一招。要做到這一點,你需要在一個結構中包含一個字符數組,並使用複合文字。例如。與數組相反,結構具有賦值運算符,該運算符執行成員級結構的副本。
#include <stdio.h>
#include <string.h>
int main(void)
{
struct A { char greeting[50]; } s;
s = (struct A) { "Zack" };
puts(s.greeting);
return 0;
}
輸出將是
Zack
,該代碼會被編譯,你需要一個支持C99編譯器。
在C中,數組是一個const引用。你不能改變它們。 – KodingKid 2014-11-03 13:07:11