Chức năng open
có hạn chế nào đối với loại giá trị chuỗi nào được chuyển vào không?lỗi biên dịch: ifstream :: mở chỉ chấp nhận giá trị chuỗi trong dấu ngoặc kép "" và không phải biến chuỗi
ifstream file;
string filename = "output.txt";
file.open(filename);
tôi đã cố gắng để vượt qua một chuỗi giá trị với một biến chuỗi, nhưng khi nó cố gắng để biên dịch, kết quả là ...
agent.cpp:2:20: error: ofstream: No such file or directory
agent.cpp: In function ‘std::string readingline(std::string)’:
agent.cpp:11: error: aggregate ‘std::ifstream file’ has incomplete type and cannot be defined
agent.cpp: In function ‘int main()’:
agent.cpp:44: error: aggregate ‘std::ofstream writefile’ has incomplete type and cannot be defined
Mặt khác, khi tôi chỉ cần vượt qua một chuỗi giá trị trong dấu ngoặc kép như "filename.txt", nó biên dịch tốt và chạy tốt.
ifstream file;
file.open("output.txt");
Tại sao lại xảy ra trường hợp này?
Có cách nào để giải quyết vấn đề này không?
bạn có cố chuyển con trỏ tới mảng char không? – neeKo
Xem [Tại sao (i | o) fstream lấy tham số const char * cho tên tệp?] (Http://stackoverflow.com/questions/5972151/why-does-iofstream-take-a-const-char- parameter-for-a-file-name) –