C++ Char陣列的賦值
阿新 • • 發佈:2018-12-30
1、定義的時候直接用字串賦值
char a[10]="hello"; //sizeof(a)為10
或char a[]="hello"; //sizeof(a)為6
注意:不能先定義再給它賦值,如char a[10]; a[10]="hello";這樣是錯誤的!
2、對陣列中字元逐個賦值
char a[10]={'h','e','l','l','o'}; //sizeof(a)為10
或char a[]={'h','e','l','l','o'}; //sizeof(a)為5
3、利用strcpy
char a[10];
strcpy(a, "hello");
例題:將小寫轉化為大寫
char * CTrunDlg::TrunTo(char ch[])// 將小寫字母轉化為大寫
{
int i=0;
while (ch!='/0')
{
if (ch>='a'&&ch<='z')
{
ch=ch-('a'-'A');
}
i++;
}
return ch;
}
void CTrunDlg::OnButton1()
{
char temp[]= "abcDEFg呵呵";
CString str = "";
// char ch[10];
// int i = 0;
char *pch = TrunTo(temp);
// for (;*pch!='/0';pch++,i++)
for (;*pch!='/0';pch++)
{
// ch = *pch;
str+=*pch;
}
MessageBox(str);
}
char a[10]="hello"; //sizeof(a)為10
或char a[]="hello"; //sizeof(a)為6
注意:不能先定義再給它賦值,如char a[10]; a[10]="hello";這樣是錯誤的!
2、對陣列中字元逐個賦值
char a[10]={'h','e','l','l','o'}; //sizeof(a)為10
或char a[]={'h','e','l','l','o'}; //sizeof(a)為5
3、利用strcpy
char a[10];
strcpy(a, "hello");
例題:將小寫轉化為大寫
char * CTrunDlg::TrunTo(char ch[])//
{
int i=0;
while (ch!='/0')
{
if (ch>='a'&&ch<='z')
{
ch=ch-('a'-'A');
}
i++;
}
return ch;
}
void CTrunDlg::OnButton1()
{
char temp[]= "abcDEFg呵呵";
CString str = "";
// char ch[10];
// int i = 0;
char *pch = TrunTo(temp);
// for (;*pch!='/0';pch++,i++)
for (;*pch!='/0';pch++)
{
// ch = *pch;
str+=*pch;
}
MessageBox(str);
}