30/09/2018, 21:27
Đọc ghi file ngôn ngữ C
Mọi người cho em hỏi. muốn đọc 1 chuỗi từ tệp thì dùng câu lệnh nào ạ. ai cho ví dụ luôn thì càng tốt ạ. em cảm ơn
Bài liên quan
Mọi người cho em hỏi. muốn đọc 1 chuỗi từ tệp thì dùng câu lệnh nào ạ. ai cho ví dụ luôn thì càng tốt ạ. em cảm ơn
đầu tiên bạn phải mở 1 stream đến file:
FILE *input=fopen(“input.txt”,“r”);(“r” là đọc từ file,“w” là gi đén file)
sau đó bạn dùng câu lệnh fgets() để đọc từng dòng trong file:
while(fgets(str,20,input)!=NULL) (str là chuỗi, 20 là đọ dài chuỗi đó)
VD:
Đọc thấy mã nguồn kì cục nhìn lại thì ra là e C …Cứ tưởng là C++
Bạn cứ nhìn thấy
#include <stdio.h>
or#include <stdlib.h>
là C àVÍ dụ trong file input.txt có từ “DAY NHAU HOC”. nhưng em vẫn không đưa được dòng này ra màn hình. Anh xem lại cho em với ạ
Bạn cho mình xem code được không?
À mà bạn phải đặt file txt cùng với file main.c nhé
edit: mình quên đóng file , trước khi kết thúc ct, bạn cho câu lệnh
fclose(input)
nữa nhé.C++ :
[code]#include
#include
using namespace std;
int main ()
{
fstream f ;
f.open (“File_notepad.wind”,ios_base::out);
if (!f.is_open()){
cout<<"Đéo mở đc ";
}
f<<"Xin chào C++ "<<“Có cách nào khiến mày dễ học hơn không hả C++”;
f.close();
f.open(“File_notepad.wind”,ios_base::in);
char a[100];
if (!f.eof())
{
f.getline(a,100);
}
cout<<a;
f.close();
}
[/code]
Tại mình đọc phần giải thích của bạn ý trc nên mình tưởng là C++…Nhìn xuống dưới mới phát hiện ra là C
Mình thử chạy code của @nts311 trên Cloud IDE C9.io thì vẫn được mà .Bạn check thử xem có sai cái gì hông …
Kết quả của mềnh
Running /home/ubuntu/workspace/z2.cc Xin chào C++ Có c ách nào khiến m ày dễ học hơn không hả C++
Mỗi tội nó không in nguyên 1 hàng như C++ mà lại xuống dòng lộn xộn như này ! K học C nên cũng không biết giải thích như nào lun
Mã nguồn thì giống như trên :
[code]#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *input=fopen(“File_notepad.wind”,“r”);
}[/code]
Hình như là mình đặt đọ dài của str là 20 nên khi fgets nó đọc hết 20 kí tự thì nó sẽ không đọc nữa, mà sau khi in chuỗi ra xong nó mới đọc tiếp. Bạn thử xóa cái ‘\n’ rồi test lại xem có bị xuống dòng nữa hay không .
Mình thử tăng độ dài của mảng char lên 100 và hết lỗi rồi ! Thank bạn
Đúng là sơ xuất quá ,k kiểm tra xem mảng có đủ khả năng chứa hết chuỗi kí tự đó k mà đã in ra rùi
Hoặc bỏ /n cũng ra kết quả như bên dưới
Kết quả :
[code]Running /home/ubuntu/workspace/z2.cc
Xin chào C++ Có cách nào khiến mày dễ học hơn không hả C++
Process exited with code: 0[/code]