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

Đề tài: Dùng hàm fopen, fprintf, fscanf như thế nào?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    16

    Mặc định Dùng hàm fopen, fprintf, fscanf như thế nào?

    mình muốn nhập 1 mảng 2 chiều từ file text, rồi thực hiện 1 số biến đổi cho mảng 2 chiều đó, rồi lại xuất ra file text để kiếm tra xem đúng ko, nhưng vì ko hiểu mấy cái hàm fprintf fscanf có ảnh hưởng gì nhau ko, mà thử input file text rồi xuất ra chính nó ( chưa biến đổi gì hết ) mà ra kết quả lạ lắm, bro nào biết về cái này chỉ giáo với
    mảng input
    Code:
    5 5
    0 0 0 0 0
    1 0 1 0 1
    0 0 0 0 0
    0 1 0 1 0
    0 0 0 0 0
    mảng output ( chưa biến đổi gì hết )
    Code:
    4269000 4269004 4269008 4269012 4269016 
    4269400 4269404 4269408 4269412 4269416 
    4269800 4269804 4269808 4269812 4269816 
    4270200 4270204 4270208 4270212 4270216 
    4270600 4270604 4270608 4270612 4270616

    còn đây là code của mình
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    #define MAX 100
    struct Graph{
           int m;int n;
           int data[MAX][MAX];
    };
    void readFile();
    void writeFile();
    Graph A;
    void main()
    {
    	readFile();
    writeFile();
    }
    void readFile()
    {
        FILE *f;
        int i,j;
    	f=fopen("input.txt","rt");
         fscanf(f,"%d %d",&A.m,&A.n);
      
            for (i=0; i<A.m; i++)
            {
                for (j=0; j<A.n; j++)
                {
                    fscanf(f,"%d ",&A.data[i][j]);
                }
            }
        
        fclose(f);
    }
    
    void writeFile()
    {
    	FILE *f1;
    	int i,j;
    	f1=fopen("out.txt","wt");
    	 for (i=0; i<A.m; i++)
            {
                for (j=0; j<A.n; j++)
                {
                    fprintf(f1,"%d ",&A.data[i][j]);
                }
    			fprintf(f1,"\n");
            }
    	 fclose(f1);
    }
    Đã được chỉnh sửa lần cuối bởi rain.nguyen : 20-03-2011 lúc 12:53 PM.

  2. #2
    Ngày gia nhập
    03 2010
    Nơi ở
    Nơi nào đó trong vũ trụ
    Bài viết
    550

    Bạn hãy thay thế cái này:
    C++ Code:
    1. fprintf(f1,"%d ",&A.data[i][j]);
    thành cái này:
    C++ Code:
    1. fprintf(f1,"%d ",A.data[i][j]);
    Vì làm như bạn là in ra địa chỉ của các phần tử, chứ không phải là in ra giá trị.
    Gió thu lạnh lẽo hắt hiu lòng!

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    16

    à được rồi cảm ơn bạn nhiều nhé

  4. #4
    Ngày gia nhập
    10 2009
    Bài viết
    80

    cho mình hỏi

    C++ Code:
    1. #ifdef _DEBUG
    2. #define new DEBUG_NEW
    3. #endif

    3 dòng này có ý nghĩa gì vậy.

Các đề tài tương tự

  1. Bài tập C++ đọc từ file với fscanf() như thế nà0?
    Gửi bởi nat09cn2 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 06-04-2011, 05:40 AM
  2. Kỹ thuật C++ Có hàm nào thay thế hàm fscanf không?
    Gửi bởi hquy trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 08-09-2010, 10:57 AM
  3. Lập trình C printf và fprintf khác nhau như thế nào?
    Gửi bởi prime trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 25-02-2010, 08:22 PM
  4. Lỗi: fopen was declared deprecated. Khắc phục như thế nào?
    Gửi bởi vodich01 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 18-05-2009, 10:46 AM
  5. Gặp lỗi khi sửa dụng hàm fprintf, help me!!!
    Gửi bởi H2O trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-11-2008, 12:27 AM

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