這裏是C++新手。編寫一個簡單的程序。除了當我嘗試提取姓氏和姓氏並單獨打印這些內容時,一切都有效,以姓氏打印的字母數量將始終與名字中的數字相同。因此,如果名字是傑克遜,程序將打印firstname作爲:will和第二名稱:jack。我該如何解決這個問題?爲什麼strcpy只能複製有限數量的元素:
這裏是代碼
for(i = 0; i < 19; i++)
if(cAddress[i] == ' ' || cAddress[i] == '_' || cAddress[i] == '-' || cAddress[i] == '.')
break;
strncpy(cFirst, cAddress, i);
cFirst[i] = '\0';
cout << endl << "\n";
cout << "Your first name is " << cFirst << endl;
strcpy(cSur,cAddress + i + 1);
cSur[i] = '\0';
cout << endl;
cout << "Your surname is " << cSur << endl;
'cAddress','cFirst'和'cSur'的類型是什麼? '炭[]'? '字符*'? 'string'? –
cSur [i] ='\ 0'; –
另一方面,如果你使用C++,通常很少有理由使用舊的C風格的函數,比如'strcpy'。你應該研究一下'std :: string',因爲它更乾淨。 –