Tại sao khi biến a là string thì sử dụng hàm atoi() phải là atoi(a.c_str())?

cho e hỏi, tai sao khi biến a là string thì sử dụng hàm atoi () phải là atoi(a.c_str()).
em cảm ơn

atoi() chỉ nhận const char *, c_str() trả về const char *.

4 Likes

Vì a là std::string chứ ko phải char*.

p/s: nếu chưa lên C++11 thì đừng dùng atoi, mà dùng strtol cho an toàn. Lên rồi thì dùng std::stoi luôn.

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