Làm sao để sửa lỗi không đọc được file INPUT

Mình dùng codeblock để code, mình tạo file INPUT trong ổ đĩa D.Debug thì thấy con trỏ file vẫn nhận giá trị NULL tức là mở file INPUT không thành công rồi.Nhờ mọi kiểm tra zùm mình với.

#include<stdio.h>
int doi_coso2(int soNguyen);
int kiemtra_doixung(int soNguyen);
void in(int soLan_test,FILE *file,FILE *file1);
int main(){
    FILE *file,*file1;
    int soLan_test=0;
    file=fopen("D:\INPUT","rt");
    file1=fopen("D:\OUTPUT","wt");
    fscanf(file,"%d",&soLan_test);
    in(soLan_test,file,file1);
    fclose(file);
    fclose(file1);
    return 0;
}
int doi_coso2(int soNguyen){
    int dem=0,mang_tam[100]={},tam=0,co_so2=0;
    do{
        tam=soNguyen;
        soNguyen=soNguyen/2;
        mang_tam[dem]=tam-soNguyen*2;
        if(soNguyen!=0)
            dem++;
    }while(soNguyen!=0);
    for(int i=0;i<=dem;i++){
        co_so2=co_so2*10+mang_tam[i];
    }
    return co_so2;
}
int kiemtra_doixung(int soNguyen){
    int doi_xung=0,tam1=soNguyen,tam2=0;
    while(tam1!=0){
        tam2=tam1%10;
        doi_xung=doi_xung*10+tam2;
        tam1=tam1/10;
    }
    if(doi_xung==soNguyen)
        return 1;
    else
        return 0;
}
void in(int soLan_test,FILE *file,FILE *file1){
    int tam=0,soLan_in=0,so_goc=0;
    for(int i=1;i<=soLan_test;i++){
            fscanf(file,"%d",&soLan_in);
            fscanf(file,"%d",&so_goc);
        for(int j=so_goc+1,dem=1;dem<=soLan_in;j++){
            tam=doi_coso2(j);
            if(kiemtra_doixung(tam)==1){
                fprintf(file1,"%d\t",j);
                dem++;
            }
        }
        fprintf(file1,"\n");
    }

Nội dung file INPUT:

2 // số lần test.
3 25 //3: số Lần in,25:số gốc
2 1 // 2:số lần in, 1:số gốc. 
1 Like

Hình như tên file của bạn thiếu cái đuôi.
Bạn cũng nên có dòng kiểm tra có mở được file hay không sau khi open để dễ nhận biết lỗi.

1 Like

Thêm 1 backslash trước nưa thì mới tạo đường dẫn đúng: “D:\\INPUT” . Chú ý tên file có đuôi .txt không nữa

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?