cuốn sách gpt4 ai đã làm

Gặp sự cố khi sử dụng fstream trong Xcode

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 11:46:31 26 4
mua khóa gpt4 Nike

Tôi không thể xác minh rằng REGISTER.txt tồn tại cho mục đích nhập dữ liệu vào hàm (xem bên dưới). Tôi hiểu rằng nếu tệp không tồn tại, tệp sẽ không được mở và biến luồng tệp (inData) sẽ sai. Vì vậy, tôi có thể sử dụng biến đó trong câu lệnh if/else để xác minh rằng nó đang bật. Tuy nhiên, mặc dù REGISTER.txt nằm trong cùng thư mục với tệp .cpp của tôi nhưng mã của tôi vẫn báo là nó chưa mở.

Đây là điều Khi tôi chạy chính xác đoạn mã đó trong trình biên dịch Dev-C++, nó hoạt động tốt và các tệp được tìm thấy. Bây giờ, tôi biết các trình biên dịch là khác nhau, nhưng tôi không hiểu nguyên nhân gây ra sự khác biệt ở đây. IDE yêu thích của tôi là Xcode, vì vậy tôi muốn tìm hiểu cách thực hiện I/O với các tệp trong Xcode.

Cảm ơn trước sự giúp đỡ của bạn.

PS Dự án Xcode của tôi tham chiếu tệp này, vì vậy dự án không được liên kết với nó.

void ReadVehicleRegInfo(char& VehicleType, string& licensePlate,
int& modelYear, float& origTaxValue, bool& error)
{
ifstream inData;

chuỗi inputFile = "REGISTER.txt";
inData.open(inputFile.c_str()); //File chứa thông tin đăng ký

nếu (! inData) {
//Chức năng thoát không tồn tại.
cout << inputFile << " không tồn tại. Chương trình sẽ kết thúc"
<< endl << endl;
lỗi = đúng;

return;
} khác {
//Tệp đã tồn tại - tiếp tục chương trình
cout << inputFile << " đã tìm thấy";
}

inData.close();
}

Trong hàm main() của mình, tôi sử dụng đoạn mã sau để báo hiệu cho người dùng rằng đã xảy ra lỗi:

if (error) {
// Hàm gặp lỗi Thoát khỏi chương trình.
hệ thống ("TẠM DỪNG");
trả lại 99;
}

biên tậpTôi đã dành 40 phút để giải quyết vấn đề này, 15 phút viết câu hỏi và 5 phút sau khi đăng câu hỏi, tôi đã đạt được tiến bộ rất lớn. Bạn không thích nó à?

Tôi đặt toàn bộ thư mục vào tập tin và nó đã hoạt động.

Tuy nhiên, điều này không lý tưởng. Câu hỏi tiếp theo là làm cách nào để tránh phải làm điều này? Thư mục mặc định của Xcode là gì?

câu trả lời hay nhất

Thông thường nó là thư mục chứa chương trình của bạn. Nếu bạn muốn chắc chắn, hãy sử dụng _getcwd để lấy thư mục hiện tại hoặc chỉ thư mục mẹ.

Ký tự*_getcwd(
bộ đệm char*,
chiều dài tối đa
);

Tuy nhiên, bạn nên cố gắng không sử dụng đường dẫn đầy đủ vì nó có thể khác khi bạn chạy chương trình trên máy tính khác.

Về c++ - Gặp sự cố khi sử dụng fstream trong Xcode, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19672887/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress