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:
int main() { char s[100]; 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 ~.~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); }
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:
int main() { char s[100]; doctep(s); ghitep(s); }
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?
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.
Nghe theo suggest của các mem sử dụng char s[100]; hoặc char* s = (char*)malloc(100*sizeof(char));Code:f = fopen("data.txt","r"); if(f != NULL) { // to do }
Học lập trình bắt đầu từ đâu ?
https://www.youtube.com/HWStudio2019