01/10/2018, 13:50

Hỏi về cách lưu file trong chương trình c

mọi người ơi em mới học c bt nó bắt lưu kết quả mà em không biết cách các bác giúp em với
lưu kết quả bài toán vào file thao_HN.txt

void move(int N, int t1, int t2,int t3)
 {  if(N==1)
        printf("
	%d ->%d",t1,t2);
        else
      {
       move(N-1,t1,t3,t2);
       move(1,t1,t2,t3);
       move(N-1,t3,t2,t1);
      }
 }
 void thapHN(int N)
 {
    int t1=1,t2=2,t3=3;
    printf("
Cho so dia N can chuyen:");
    scanf("%d",&N);
    move(N,t1,t2,t3);
 }
HK boy viết 15:52 ngày 01/10/2018

Bạn tìm trên google “cách nhập xuất file trong c” hay “input output with file in c”.

Hiếu Trần viết 16:02 ngày 01/10/2018

em đọc nhưng không hiểu nên mới nhờ mọi người nè

HK boy viết 16:00 ngày 01/10/2018

nhờ mọi người nè

Bạn nhờ mọi người giúp gì cho bạn?

Hiếu Trần viết 15:56 ngày 01/10/2018

hướng dẫn cách để ghi kết quả của bài chương trình trên vô file Thap_HN.txt

HK boy viết 16:04 ngày 01/10/2018

Cứ làm như trên mạng nói. Mấy cái này tương tự printf, scanf, chỉ thêm 1 2 lệnh nữa thôi. Có gì mà không hiểu?

https://www.programiz.com/c-programming/c-file-input-output/1

Hiếu Trần viết 16:06 ngày 01/10/2018

bác cứ chạy thử đi rồi coi nó lưu sao

HK boy viết 15:53 ngày 01/10/2018

Bạn in ra file, sau khi bạn close file thì toàn bộ nội dung bạn đã in sẽ được lưu lại và file.

Nếu bạn xin code chùa thì thôi.

Hiếu Trần viết 16:06 ngày 01/10/2018

em nghiên cứu cả 2 ngày nay rồi nhưng khi nó in ra file nó chỉ in bước đầu tiên thôi,

HK boy viết 15:53 ngày 01/10/2018

Up code của bạn có output vào file lên. Thế này là bạn đang hỏi code làm sao bị in lỗi chứ đâu phải là hỏi về cách lưu file?

Hiếu Trần viết 16:05 ngày 01/10/2018

đâu code chạy đúng chỉ là hỏi làm sao để thêm cái phần để lưu file á

HK boy viết 16:02 ngày 01/10/2018

Bạn phải mở file, dùng lệnh in ra file rồi đóng file, thế là dữ liệu nằm gọn trong file. Bạn cứ dùng printf để in ra màn hình thì file làm gì có cái gì?

X viết 15:55 ngày 01/10/2018

3 posts were merged into an existing topic: Topic chứa các reply được cho là off-topic - version 2

Hiếu Trần viết 16:06 ngày 01/10/2018
int T1[100],T2[100],i=0;
void ghifile(int A1[],int A2[],int n)
{
	int i;
    FILE *f;
    f=fopen("thap_HN.txt","wt");
    for(i=0;i<=n;i++){
      fprintf(f," %d->%d\n ",A1[i],A2[i]);
    }
    fclose(f);
}
 void move(int N, int t1, int t2,int t3){
if(N==1){
        printf("\n\t%d->%d",t1,t2);
        T1[i]=t1;
        T2[i]=t2;
        i++;
        }else
      {
       move(N-1,t1,t3,t2);
       move(1,t1,t2,t3);
       move(N-1,t3,t2,t1);
      }
 }

void thapHN(int N)
 {
    int t1=1,t2=2,t3=3;
    printf("\nCho so dia N can chuyen:");
    scanf("%d",&N);
    move(N,t1,t2,t3);
    ghifile(T1,T2,i);
    getch();
 }
rogp10 viết 16:00 ngày 01/10/2018

Thớt sử dụng wrapper function để tạo, giữ và đóng con trỏ file; hàm đệ quy nhận con trỏ này là tham số. Bên ngoài chỉ cho gọi hàm wrapper này.

Cái lợi nằm ở chỗ là bài này ko nhất thiết phải đệ quy (bạn đọc tự tìm) và giao diện (interface - not GUI) đơn giản, thể hiện tính “trừu tượng”.

HK boy viết 15:53 ngày 01/10/2018

Có thể để biến file là global variable không anh?

rogp10 viết 15:59 ngày 01/10/2018

Không nên, vì các file handle cũng giống như mem (có mở/đóng), phải được kiểm soát, và phàm cái gì cần được kiểm soát thì càng ít khả năng truy cập càng tốt. Vả lại, chỉ có mỗi hàm đó sử dụng cái handle đó, vậy nó phải là local theo nguyên tắc (need-to-know).

Bài liên quan
0