01/10/2018, 16:38
Chuyển từ interger sang char trong C++
Sử dụng xâu ký tự để viết hàm kiểm tra số thuận nghịch. Áp dụng để in ra các số thuận nghịch có 6 chữ số.
mình viết thế này:
#include <iostream>
#include <string>
#include <cstring>
#include <stdlib.h>
using namespace std;
void nhap(string &A)// nhap xau ky tu A
{
getline(cin,A);
}
void dao(string &A,string B)//DAO CHIEU XAU KY TU A = B
{
for(int i=0;i<A.length();i++)
{
B[A.length()-i-1]=A[i];
}
cout << B[A.length()-5-1] << endl;
}
int compare(string &A,string &B)// SO SANH B VA A
{
int count = 0;
for (int i=0;i<A.length();i++)
{
if (A[i]==B[i]){count++;}
}
if(count==A.length()){return 1;}
else {return 0;}
}
void stn6cs(string &A,string &B)
{
for (int i=100000;i<1000000;i++)
{
itoa(i,A,10);//chuyen sang ky tu
dao(A,B);
if(compare(A,B)){cout<<i<<endl;}
}
}
int main()
{
string A,B;
// nhap(A);
// dao(A,B);
// compare(A,B);
stn6cs(B);
return 0;
}
nhưng nó báo lỗi ở hàm itoa();
[Error] cannot convert ‘std::string {aka std::basic_string}’ to ‘char*’ for argument ‘2’ to ‘char* itoa(int, char*, int)’
mn giúp mình với. cảm ơn nhiều,
Bài liên quan
std::string
không phải làchar*
là sao bạn hek?
chuyển từ string A sang char A hả bạn? mình mới học nên biết ít quá.
Để chuyển từ std::string sang int trong C++ bạn có thể dùng method của
std::string
làc_str()
để lấy được giá trị củastd::string
sangchar*
Hoặc có thể dùng một số cách ở https://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c
cảm ơn b. để mình thử xem