01/10/2018, 08:18
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 << "
Khong can xu ly.";
else
{
(int) x = log(sotien);
for (i = 3; i <= x; i = i + 3)
{
menhgia.insert(i, ",");
}
cout << "
So tien sau khi xu ly: " << menhgia;
}
system("pause");
return 0;
}
Bài liên quan
Std::string là class còn nó yêu cầu là con trỏ char 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 đó
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?