【发布时间】:2014-03-22 16:24:34
【问题描述】:
我想将反向的char* 复制到另一个char*。我错过了输出第二行中的一个字母。
我做到了:
#include <iostream>
using namespace std;
void cp(char *str2, char *str1){
char *pom1 = str1;
while(*pom1){
pom1++;
}
char* pom2 = str2;
while(*pom1 != *str1){
pom1--;
*pom2 = *pom1;
pom2++;
}
*pom2 = '\0';
}
int main()
{
char *str1 = "ppC", str2[10] = "Witaj";
cout << "Napis str2 "<< str2 << endl;
cp(str2,str1);
cout << "Napis str2 "<< str2 << endl;
cp(str2,"CJP");
cout << "Napis str2 "<< str2 << endl;
return 0;
}
输出是:
Napis str2 Witaj
Napis str2 Cp
Napis str2 PJC
虽然应该是:
Napis str2 Witaj
Napis str2 Cpp
Napis str2 PJC
【问题讨论】:
-
你错过了一对
consts:coliru.stacked-crooked.com/a/0e33543fd7143a56 -
不,你错过了几个
std::strings。
标签: c++ string algorithm pointers char