문자 배열을 올바르게 바꾸기 위해 strcpy를 사용할 수 없습니다. strncpy, memcpy 모든 것을 사용했지만 여전히 올바른 결과를 얻지 못했습니다.strcpy를 사용할 때 'char'에서 'const char *'로의 변환이 올바르지 않습니다.
이것은 내 프로그램의 모습입니다.
class Carte
{
protected:
char Denumire[50];
char Autor[50];
char Editura[50];
int AnPublicare[50];
public:
void Citire(int n)
{
for(int i=0;i<n;i++)
{
cout<<"Denumire: "; cin>>Denumire[i]; cout<<endl;
cout<<"Autor: "; cin>>Autor[i]; cout<<endl;
cout<<"Editura: "; cin>>Editura[i]; cout<<endl;
cout<<"An Publicare: "; cin>>AnPublicare[i]; cout<<endl;
}
}
void Afisare(int n)
{
for(int i=0;i<n;i++)
{
cout<<"Denumire: "<<Denumire[i]<<endl;
cout<<"Autor: "<<Autor[i]<<endl;
cout<<"Editura: "<<Editura[i]<<endl;
cout<<"An Publicare: "<<AnPublicare[i]<<endl<<endl;
}
}
여기에는 문제가있는 위치가 나와 있습니다.
void Sortare(int n)
{
int ok,aux;
char *auxDen , *auxAt, *auxEd;
do{
ok=1;
for(int i=0;i<n-1;i++)
if(AnPublicare[i]>AnPublicare[i+1])
{
ok=0;
aux=AnPublicare[i];
AnPublicare[i]=AnPublicare[i+1];
AnPublicare[i+1]=aux;
strcpy(auxDen,Denumire[i]);
strcpy(Denumire[i],Denumire[i+1]);
strcpy(Denumire[i+1],auxDen);
strcpy(auxAt,Autor[i]);
strcpy(Autor[i],Autor[i+1]);
strcpy(Autor[i+1],auxAt);
strcpy(auxEd,Editura[i]);
strcpy(Editura[i],Editura[i+1]);
strcpy(Editura[i+1],auxEd);
}
}while(ok!=1);
}
};
어떻게 작동시킬 수 있습니까?
'Denumire [i]'는'char'입니다. 'Denumire [i]'가 필요합니다. –
그것은 작동하지 않습니다. 컴파일러가 충돌합니다. –
나는 컴파일러가 추락 한 것을 의심합니다. 업데이트 된 코드를 게시하고 정확한 오류를 보내주십시오. – pm100