2009-09-18 20 views
8

Tôi biết đây là một câu hỏi noob, nhưng tôi đã làm việc với Python trước đây và khi bạn muốn truy cập một tệp .txt chẳng hạn, tất cả những gì bạn phải làm là đảm bảo tệp txt nằm trong cùng một thư mục. Tôi có mã C++ sau đây nhưng nó không tìm thấy tập tin Numbers.txt mà tôi đã lưu trên máy tính để bàn của tôi. Tất cả những gì tôi có trong tập tin là một dòng các số kiểu gấp đôi. Tất cả những gì tôi muốn làm là tìm trung bình của tất cả các con số trong tập tin. Chương trình chạy tốt, nhưng nó không in đầu ra chính xác. Sau khi kiểm tra để xem những gì được in vào đầu ra bởi chỉ cần in đầu ra [0], tôi đã phát hiện ra rằng các tập tin không sao chép nội dung của nó vào mảng. Ai đó có thể xóa vấn đề nhỏ này cho tôi hoặc ít nhất là chỉ cho tôi đúng hướng để có một hướng dẫn tốt?Visual Studio tìm kiếm các tệp txt khi thực hiện các thao tác quản lý tệp ở đâu?

int main() { 
    cout << "Getting File Information..." << endl; 
    ifstream file; 
    char output[100]; 
    //int x; 

    file.open("Numbers.txt", ios::in); // open file 

    cout << "Opened File Successfully ****************" << endl; 
    file >> output;    // empty file contents into output 
    cout << output;    // print out contents of file 
    cout << "Should have printed out results by now" << endl; 
    //file >> x; 

    file.close(); 

    return 0; 
} 

Trả lời

6

Visual Studio đặt thư mục làm việc thành YourProjectDirectory \ Debug \ Bin khi chạy trong chế độ gỡ lỗi. Nếu tệp văn bản của bạn nằm trong YourProjectDirectory, bạn cần tính đến sự khác biệt đó.

Cách dễ nhất để làm điều đó là bao gồm các tệp văn bản của bạn trong dự án và đặt hành động xây dựng (trong cửa sổ Thuộc tính) thành Nội dung.

+2

Bạn đang nói về C# hoặc VB.Net không C++ –

+2

Có lẽ câu trả lời cần một số điều chỉnh lại, tôi có cùng một câu hỏi nhưng tôi không tìm thấy '\ Bin' thư mục con dưới' \ Debug' trên VS2015 . May mắn thay, phương pháp thứ hai vẫn hoạt động. – Jaege

0

Đường dẫn làm việc là thư mục dự án.

+0

Ít nhất trong VS C++ 2005 và 6.0 –

3

Nếu bạn đang nói về việc chạy mã trong trình gỡ rối Visual Studio qua F5 hoặc Debug/Bắt đầu gỡ lỗi, bạn có thể đặt thư mục làm việc của chương trình của bạn qua Project/< Tên dự án > Thuộc tính/Cấu hình/Gỡ lỗi/Thư mục hoạt động .

Đặt tệp văn bản của bạn vào thư mục ở đâu đó và đặt Thư mục làm việc để trỏ đến thư mục đó.

+1

Không bao giờ sử dụng đường dẫn tuyệt đối. Nó sẽ phá vỡ khi chuyển sang máy tính khác. –

+0

Cài đặt Thư mục làm việc không được lưu trữ trong tệp dự án, do đó, đó không phải là vấn đề. – RichieHindle

+0

Hãy suy nghĩ theo cách này, bạn đặt thư mục làm việc thành c: \ somedir và đặt tệp cấu hình, di chuyển chương trình ở nơi khác nó sẽ không hoạt động * đúng cách * –

4

Tôi vừa gặp vấn đề tương tự và tôi không tìm thấy bất kỳ câu trả lời nào trong số đó để làm việc. Sau đó, tôi nhớ lại những gì tôi đã học được từ lâu trong OOP. Những gì bạn phải làm là lấy tập tin văn bản đó trên máy tính của bạn và tìm thư mục dự án trong các dự án studio trực quan của bạn trong tài liệu máy tính và đặt tệp văn bản vào thư mục đó bên ngoài studio trực quan. Sau đó, trong visual studio dưới file nguồn, phải cấp nhấp chuột> thêm mặt hàng hiện có -> (file văn bản của bạn)

:)

btw Tôi tình cờ gặp chủ đề này bởi vì chủ đề này nói đó là một ý tưởng tốt, và tôi muốn nó được cập nhật vì lợi ích của mọi người googling cùng một câu hỏi. https://meta.stackexchange.com/questions/125965/is-bumping-old-questions-allowed

+0

Điều này không liên quan gì đến OOP. –

+0

Sẽ bị lỗi và ghi khi ứng dụng chuyển sang sản xuất. – nicomp