Code bị lỗi "'char *itoa(int,char *,int)' : cannot convert argument 2 from 'std::string' to 'char *'" khi biên dịch

Mọi người giúp em sửa lỗi với ạ, em cho chạy thì nó hiện lên lỗi này: ‘char *itoa(int,char *,int)’ : cannot convert argument 2 from ‘std::string’ to ‘char *’

Đây là code của e ạ:

#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string>

using namespace std;

int main()
{
	int sotien;
	int i;
	int x;
	cout << "Nhap so tien: ";
	cin >> sotien;
	string menhgia;
	itoa(sotien, menhgia, 10);

	if (sotien < 1000)
		cout << "\nKhong can xu ly.";
	else
	{
		(int) x = log(sotien);
		for (i = 3; i <= x; i = i + 3)
		{
			menhgia.insert(i, ",");
		}
		cout << "\nSo tien sau khi xu ly: " << menhgia;
	}
	system("pause");
	return 0;
}

Std::string là class còn nó yêu cầu là con trỏ char :grin: vì thế nên lấy con trỏ char từ thực thể string bằng hàm c_str() hình như hàm đó :grin:
menhgia.c_str()

Bạn có thể dùng menhgia.c_str() nếu ko dc nữa thì ép kiểu cho nó thành char *. (char *)menhgia.c_str()

Cũng ko được bạn ạ. Có cách nào khác ko? Tiện thể cho mình hỏi luôn cách chuyển dạng từ int sang string với.

là sao bạn, bạn nói rõ hơn đc ko?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?