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,

Lương Thế Hải viết 18:40 ngày 01/10/2018

std::string không phải là char*

minh viết 18:39 ngày 01/10/2018

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á.

Lương Thế Hải viết 18:39 ngày 01/10/2018

Để chuyển từ std::string sang int trong C++ bạn có thể dùng method của std::stringc_str() để lấy được giá trị của std::string sang char*
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

minh viết 18:40 ngày 01/10/2018

cảm ơn b. để mình thử xem

Bài liên quan
0