コンマ区切りのフィールドを使用して、通常のファイルに 1 つのレコードとして書き込みたい構造があります。例えば
struct A {
int a;
int b;
} test;
と が与えられるtest.a=1
とtest.b = 2
、通常のファイルには対応する1,2
が 1 行のレコードとして含まれます。もう 1 つの要件は、1 つのシステム コールで構造全体を記述したいということです。だから、私は を作成しchar buffer[10]
、 int a,b の値をバッファに格納し、コンマ区切りと改行文字を使用し、Linux システムの write() 呼び出しを使用してバッファを書き込みました。
問題は、レコードがファイル内でバイナリとして終了することです。変数から「型」を取り除いたので、これは直感的です。変数をchar配列に格納した瞬間です。標準のioを使用できますが、概説された制約を使用して標準のLinuxシステムコールで目的の結果を達成する方法を学びたいです。変数の「型」を維持するにはどうすればよいですか。型とは、変数が int 型の場合、通常のファイルには人間が読める数字が必要であることを意味します。