【发布时间】:2012-05-03 04:19:37
【问题描述】:
为了便于阅读,我删减了很多代码。具体来说,我正在尝试重写 strcat
#include <iostream>
using namespace std;
char MYstrcat(char string1[],char string2[]);
int main()
{
char letter, letter_ans, again;
const int SIZE = 80;
char string1 [SIZE];
char string2 [SIZE];
获取字符数组的输入
cout << "Enter the first string: ";
cin >> string1;
cout << "Enter the second string: ";
cin >> string2;
letter_ans=MYstrcat(string1, string2);
cout << letter_ans;
cin.get(); cin.get();
return 0;
}
这是我的 strcat 函数版本
char MYstrcat(char string1[],char string2[])
{
int i = 0; //Counters
int j = 0;
//Read until null character is encountered then append.
while (string1[i] != '\0')
{
i++;
}
while (string2[j]!= '\0'){
string1[i] = string2[j];
i++;
j++;
}
string1[i]='\0'; // Place a null character in string2.
我在下一行得到错误:从 'char*' 到 'char' 的无效转换
return string1;
}
【问题讨论】:
-
注意
string1[i]='\0'; // Place a null character in string2中的错误评论 -
你应该避免在 C++ 中使用原始数组:stackoverflow.com/a/10253277/365496
-
哈哈,让我失望了,非常感谢!