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

Đề tài: Em có cái bài tập về con trỏ trong C mà làm hoài vẫn lỗi các bác giúp em

  1. #1
    Ngày gia nhập
    06 2016
    Bài viết
    0

    Mặc định Em có cái bài tập về con trỏ trong C mà làm hoài vẫn lỗi các bác giúp em

    Code:
    #include <conio.h>
    #include <stdio.h>
    
    void doctep(char *s)
    {
    	FILE *f;
    	f = fopen("data.txt","r");
    	fgets(s,100,f);
    	fclose(f);
    }
    
    void ghitep(char *s)
    {
    	FILE *d;
    	d = fopen("sav.txt","w");
    	fprintf(d,"%s",s);
    	fclose(d);
    }
    
    main()
    {
    	char s;
    	doctep(&s);
    	ghitep(&s);
    }
    em làm mãi mà nó cứ ra lỗi này các bác sửa giúp em với ~.~
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		akl.jpg
Lần xem:	8
Size:		68.2 KB
ID:		47926

  2. #2
    Ngày gia nhập
    04 2011
    Nơi ở
    Hà Nội
    Bài viết
    248

    s chỉ chứa được 1 kí tự, bạn đọc đến 100 kí tự vào thế kia nó lỗi là đúng rồi.
    sửa lại trong
    C Code:
    1. int main() {
    2.  
    3.   char s[100];
    4.   doctep(s);
    5.   ghitep(s);
    6. }

  3. #3
    Ngày gia nhập
    01 2016
    Bài viết
    11

    Hàm đọc tệp của bạn có thể là bạn muốn đọc 1 tệp có sẵn trong pc lên màn hình, cái này thì ok. Nhưng cái hàm ghi thì bạn ghi cái gì vào đó vậy?

  4. #4
    Ngày gia nhập
    11 2013
    Bài viết
    62

    Trích dẫn Nguyên bản được gửi bởi Kalenz Xem bài viết
    Code:
    #include <conio.h>
    #include <stdio.h>
    
    void doctep(char *s)
    {
    	FILE *f;
    	f = fopen("data.txt","r");
    	fgets(s,100,f);
    	fclose(f);
    }
    
    void ghitep(char *s)
    {
    	FILE *d;
    	d = fopen("sav.txt","w");
    	fprintf(d,"%s",s);
    	fclose(d);
    }
    
    main()
    {
    	char s;
    	doctep(&s);
    	ghitep(&s);
    }
    em làm mãi mà nó cứ ra lỗi này các bác sửa giúp em với ~.~
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		akl.jpg
Lần xem:	8
Size:		68.2 KB
ID:		47926
    main khai báo char s[100] nhá

  5. #5
    Ngày gia nhập
    11 2014
    Bài viết
    85

    Tốt hơn hết là chạy debug trước.

    Viết hàm doctep(char *s) và ghitep(char* s) mà không kiểm tra file có tồn tại hay ko thì làm sao tránh khỏi runtime error.
    Code:
    f = fopen("data.txt","r");
    if(f != NULL)
    {
        // to do
    
    }
    Nghe theo suggest của các mem sử dụng char s[100]; hoặc char* s = (char*)malloc(100*sizeof(char));
    Học lập trình bắt đầu từ đâu ?

    https://www.youtube.com/HWStudio2019

Tags của đề tài này

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