Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3

Chủ đề: Vấn đề về file

  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Vấn đề về file

    m đọc 1 file và chép vào 1 vector làm mãi k được mong mọi người giúp m tìm lỗi.
    Mã:
    #include<fstream>
    #include<vector>
    #include<iostream>
    using namespace std;
    void main(){
    	char *duongDan = new char[10000];
    	vector<char> v;
            fstream f;
    	lap:
    	cout << "
    Nhap duong dan file : ";
    	cin.get(duongDan, 10000); cin.ignore();
    	//t.duongDan = "C://Users/HEllBOY/Desktop/Nukan/txt/data.txt";
    	f.open(t.duongDan, ios::in);
    	if (!f){
    		cout << "
    Loi doc file!";
    		f.close();
    		goto lap;
    	}
    	else{
    		while (f.get() != EOF){
    			v.push_back(f.get());
    		}
    		f.close();
    	for (double i = 0; i < v.size(); i++)
    		cout << v[int(i)];
    	cout << endl;
    	}
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    #include<fstream>#include<vector>#include<iostream>#include <string>using namespace std; //void main() !!!!!! chuẩn mới: int main() !!!!!!!!!!!!int main(){    string duongDan; //dùng C++ rồi thì cứ std::string đi, tại sao cứ phải nửa nạc nửa mỡ đi cấp phát làm gì?    string v; //tại sao lại vector<char> ???    fstream f;    //trường hợp này ko có lí do gì dùng goto cả. người ta chống chỉ định goto từ lâu lắm rồi!    while (1) {        cout << "
    Nhap duong dan file : ";        //có thể dùng std::getline với std::string mà ko lo tràn buffer        std::getline(std::cin, duongDan);        f.open(duongDan, ios::in); //biến t đâu ra?        if (!f) {            cout << "
    Loi doc file!";            // f.close(); -> mở k thành công, khỏi đóng            continue;        }        while (f.get() != EOF) {            v.push_back(f.get());        }                 //cách khác gọn hơn đọc toàn bộ nội dung file        //#include <streambuf>        //v.assign((istreambuf_iterator<char>(f)), istreambuf_iterator<char>());          //đến đây bạn có thể đóng file f.close()        //hoặc để destructor của std::fstream đóng khi kết thúc hàm main         //biến đếm là double ??        for (size_t i = 0; i < v.size(); ++i) {             cout << v[i];                }                //có thể dùng cách gọn hơn để in toàn bộ nội dung của v                //#include <iterator>                //#include <algorithm>                //copy(v.begin(), v.end(), ostream_iterator<char>(cout))        cout << endl;                                 break;     }        return 0;}

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mở file ở đâu, đóng file ở đó [IMG]images/smilies/smile.png[/IMG]
    Nên làm vậy cho quen, chứ phải nhớ với file 1 kiểu, với db connection 1 kiểu thì èo.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •