Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: lấy chuỗi trong file txt với VC++ như thế nào?

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    328

    Mặc định lấy chuỗi trong file txt với VC++ như thế nào?

    mình có thử lấy chuỗi trong file txt như sau

    Visual C++ Code:
    1. #include<iostream>
    2. #include<fstream.h>
    3. #include<windows.h>
    4. using namespace std;
    5.  
    6. int luuduongdan(char duongdan[100])
    7. {
    8.     fstream file;
    9.     file.open("D:\\test.txt",ios::out);
    10.     if(!file)
    11.     {
    12.         return 0;
    13.     }
    14.     file<<duongdan;
    15.     return 1;
    16. }
    17. char* layduongdan()
    18. {
    19.     TCHAR duongdan[100];
    20.     fstream file;
    21.     file.open("D:\\test.txt",ios::in);
    22.     if(!file)
    23.     {
    24.         return NULL;
    25.     }
    26.     file>>duongdan;
    27.  
    28.     duongdan[lstrlen(duongdan)]=0;//cuối cùng của 1 xâu là ký tự NULL
    29.     return duongdan;
    30. }
    31. int main()
    32. {
    33.     char chuoi[100];
    34.     lstrcpy(chuoi,"D:\\abc");
    35.     luuduongdan(chuoi);
    36.     if(lstrcmp(layduongdan(),NULL)==0)
    37.     return 0;
    38.     MessageBox(0,layduongdan(),"in ra duong dan",0);
    39. }

    mình ghi 1 file txt vào file,sau đó đọc file ghi ra 1 chuỗi,nhưng không thể nào trả lại giá trị cho hàm,ai có thể giúp mình giải thích việc trên không

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    38

    Visual C++ Code:
    1. char* layduongdan()
    2. {
    3.     static TCHAR duongdan[100];
    4.     fstream file;
    5.     file.open("D:\\test.txt",ios::in);
    6.     if(!file)
    7.     {
    8.         return NULL;
    9.     }
    10.     file>>duongdan;
    11.  
    12.     duongdan[lstrlen(duongdan)]=0;//cuối cùng của 1 xâu là ký tự NULL
    13.     return duongdan;
    14. }
    Lý do là bạn khai báo biến duongdan là biến cục bộ (local variable) được tạo ra trên stack, nên khi hàm return biến đó sẽ trở thành không xác định. Bạn thêm vào từ khóa static nhé

Các đề tài tương tự

  1. Cách so sánh chuỗi nhập vào với chuỗi trong file [ c++ ]
    Gửi bởi badboys1291 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 03-08-2012, 04:34 PM
  2. Bị lỗi dính chuỗi khi nhập xuất chuỗi từ file trong C++?
    Gửi bởi nguyenchikhang trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 03-11-2011, 03:13 PM
  3. Cắt chuỗi từ một file để ghi vào xml trong C# như thế nào?
    Gửi bởi apo_silent trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 25-09-2011, 03:52 PM
  4. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  5. Algorithm Cách cắt chuỗi trong file text như thế nào?
    Gửi bởi dominic9 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 14
    Bài viết cuối: 26-04-2011, 10:31 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn