1. 程式人生 > >字符數組拷貝與strcpy函數

字符數組拷貝與strcpy函數

nbsp str sta char span fail pre 拷貝 結束

代碼:

char str1[10],str2[10];
    for (int i=0;i<10;i++)
    {
        str1[i]=a;
    }
    strcpy(str2,str1);

讓找出錯誤的地方。

先來看下strcpy函數:

使用格式:char* strcmp(char* buffer,char*str)
功 能: 把從str地址開始且含有NULL結束符的字符串復制到以buffer開始的地址空間,buffer地址空間中必須有足夠的空間來容納str的字符串。 轉自此文

所以上面代碼錯誤的地方就是str1中沒有結束符,VS2010下運行出現錯誤:Run-Time Check Failure #2 - Stack around the variable ‘str1‘ was corrupted.

字符數組拷貝與strcpy函數