2012-04-23 2 views
1

まあ...私はcで新しいです。 問題があります。私は2つの構造体があります。 1はリンクリストであるノードリスト、1はノードにリンクされたstructの配列です。これは私がそれを宣言する方法です。ファイルから構造体への書き込みと読み込み、またはその逆をCで返します

typedef struct mhs mhs; 
    typedef struct kelas kelas; 

struct mhs 
{ 
    char nama[31]; 
    char nim[16]; 
    int angkatan; 
    float ipk; 
}; 

struct kelas 
{ 
    char kls[13]; 
    int jml; 
    mhs siswa[40]; 
    kelas *next; 
}; 

kelas =ノードとMHS =構造体 の配列Iは、ノードに基づいてファイルを作成したいです。だから私は3つのノードを持っている場合私は3つの別のファイルを書き込むだろうし、その内部にmhsが含まれていると私はまた、ノード - > klsをネームファイルとして作成したい。それは可能ですか?もしそうなら、私はそれをどのようにすることができますか?あなたの進歩をありがとう。

+0

のようなもの - リンクリストを反復処理しますか? Cでファイルに書き込む? – djechlin

+0

ファイルへの書き込みはおそらく 今は実装していません。どのような方法を使うべきですか?私はnode-> klsを自分のネームファイルにしてdiffernetファイルに書き込むことはできません – albilaga

答えて

0

あなたが持つ悩み持っている何
#include <stdio.h> 


int printNodesToFile(kelas* node) { 
    char filename[100] = {0}; 

    int idx; 
    for(idx = 1; node = node->next, idx++; node != NULL) { 
     snprintf(filename, sizeof(filename), "kelas.%d.txt", idx); 
     FILE* outFile = fopen(filename, "w"); 
     if(outFile == NULL) return 1; 
     //do stuff 
     fclose(outFile); 
    } 
    return 0; 
} 
+0

mhsをそのファイルに書き込む方法は? (int i = 0; i jml; i ++) fprintf( "%d。%s;%s;%d;%.2f \ n"、i + 1、itr- > siswa [i] .nama、itr-> siswa [i] .nim、itr-> siswa [i] .angkatan、itr-> siswa [i] .ipk); コンパイルできません – albilaga

+0

何かエラーがありますか? – djechlin

+0

「arg 1はstruct *ではありません」と表示されます。そんな感じ。 – albilaga

関連する問題