01/10/2018, 12:19
Bài tập C về tệp
Mình gặp vấn đề với bài tập C ở đây,
Đề bài đơn giản chỉ là in vào file số từ 1 đến n .
Nhưng hàm fwrite không rõ như thế nào, mình in như thế này lúc bật file ra chỉ hiện ra toàn ô vuông ??
Cao thủ nào chỉ hộ mình lỗi với ạ ?
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#define file_name "Lab09_integer.c"
int main()
{
int i,n;
FILE *fp;
int tryagain=0;
int tieptuc=0;
scanf("%d", &n);
fp = fopen(file_name,"w");
while (fp == NULL)
{
tryagain++;
if (tryagain<10)
{
printf("Khong the mo ten file.
");
printf("Dang thu lai,vui long doi trong 3s...
");
Sleep(3000);
fp = fopen(file_name,"w");
}
else
{
printf("Thu lai khong thanh cong.
");
tieptuc=1;
break;
}
}
if (tieptuc==1) printf("Chuong trinh se dung lai.
");
else
{
for(i=1;i<n;i++)
fwrite(&i,sizeof(int),1,fp);
fclose(fp);
}
return 0;
}
Bài liên quan
Thì bạn kêu nó ghi vào 1 số thì nó ghi vào 1 số thôi. Chừng nào bạn kêu nó ghi chuỗi (ký tự) thì nó mới ghi chuỗi (ký tự) chứ.
Để dễ hiểu,
1
là số và'1'
là ký tự. Chuyển số sang ký tự rồi ghi vào. Và nhớ là nên ghi thêm ký tự xuống dòng hoặc khoảng trắng để khỏi phải dính chùm.Có lẽ bạn sẽ dễ làm quen với
fprintf
hơn. Xem tại đây.bạn xem lại ghi file văn bản và file nhị phân khác nhau ntn