以前質問の内容がたらずにもう一度同じ質問をすることをお許しください。
AとBのファイルに同じ構造体のデーターを読み込んだとして、どのように書けば構造体のデーターをファイルAで変えたものをBのファイルからも値が変わっていたり、Bのファイルで変えた値をAのファイルで読み込んだり、することができますか?
static struct{
char *name[2];
double d_data[2];
int i_data[4];
double s_data[2];
int state[2][3];
int regi[5];
}kya_data[2]={ {
{ "奈美" , "爆弾" },
{
43.0000 ,
54.0000 ,
} , {
50 , 50 , 50 , 50
} , {
0.100,
0.100,
} , {
{ 0 , 0 , 0 } ,
{ 0 , 0 , 0 }
} , {
100 , 0 , 0 , 0 , 0
} },{
{ "由美" , "湖" },
{
23.0000 ,
76.0000 ,
} , {
50 , 50 , 50 , 50
} , {
0.100,
0.100,
} , {
{ 0 , 0 , 0 } ,
{ 0 , 0 , 0 }
} , {
0 , 0 , 0 , 0 , 100
} }
};
No.2ベストアンサー
- 回答日時:
「ファイル」がソースファイルの意味だとして、
・構造体の宣言をヘッダファイルに書く。
・そのヘッダを構造体を読み書きするソースにインクルードする。
・ソースファイルA,Bのどれかに構造体を定義、初期化する。
例えば下のような3つのファイルに分割してコンパイルすればよいでしょう。
(それと char *name[2]; では2つの文字列ではなく、ポインタの配列になってしまいますよ)
/* --- ヘッダファイル (KyaData.h) --- */
struct KyaData { /* KyaData構造体の宣言 */
char name[2][16];
double d_data[2];
int i_data[4];
double s_data[2];
int state[2][3];
int regi[5];
};
/* kya_data配列のextern宣言 */
extern struct KyaData kya_data[2];
/* 関数overwriteのextern宣言 */
extern void overwrite(void);
/* --- ソースファイルA --- */
#include <stdio.h>
#include "KyaData.h" /* ヘッダファイルのインクルード */
struct KyaData kya_data[2] = { /* kya_data配列の定義 */
{
{ "奈美", "爆弾" },
{ 43.0000, 54.0000 },
{ 50, 50, 50, 50 },
{ 0.100, 0.100 },
{ { 0, 0, 0 } , { 0, 0, 0 } },
{ 100, 0, 0, 0, 0 }
},
{
{ "由美", "湖" },
{ 23.0000, 76.0000 },
{ 50, 50, 50, 50 },
{ 0.100, 0.100 },
{ { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, 0, 0, 100 }
}
};
int main(void)
{
printf("%s, %f\n", kya_data[0].name[0], kya_data[0].d_data[0]);
overwrite(); /* kya_data配列の中身を変更 */
printf("%s, %f\n", kya_data[0].name[0], kya_data[0].d_data[0]);
return 0;
}
/* --- ソースファイルB --- */
#include "KyaData.h" /* ヘッダファイルのインクルード */
void overwrite(void) /* 関数overwriteの定義 */
{
kya_data[0].d_data[0] = 11.5;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# 100バイトのバイナリファイルを読み込んで別のファイルに書き込みたいのですが、型をどうすればいいのか 1 2022/11/03 17:11
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
構造体のextern方法
C言語・C++・C#
-
構造 他のクラスの構造体を別のクラスで使いたい。
C言語・C++・C#
-
#defineの定数を文字列として読み込む
C言語・C++・C#
-
-
4
適切な変換関数が存在しない???
C言語・C++・C#
-
5
分割コンパイルの#defineについて
C言語・C++・C#
-
6
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
7
エラーの原因は?「この関数の定義が見つかりません」
C言語・C++・C#
-
8
他の.CPPファイルに定義した関数を呼び出す方法について
C言語・C++・C#
-
9
unsigned char配列への入力の仕方
C言語・C++・C#
-
10
char*を初期化したいのですが
C言語・C++・C#
-
11
C言語での引数の省略方法
C言語・C++・C#
-
12
構造体のメンバをfor文で回したい
C言語・C++・C#
-
13
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
14
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
15
1 つ以上の複数回定義されているシンボルが見つかりました
C言語・C++・C#
-
16
C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい
C言語・C++・C#
-
17
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
18
C言語にて構造体のメンバがNULLであるかを判定するサンプルを作成して
C言語・C++・C#
-
19
既定のコンストラクタがありません。というエラーについて
C言語・C++・C#
-
20
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヒアドキュメントの中のfor文
-
phpの関数について質問です!
-
While文を使って配列の中身を全...
-
変数の中に変数を
-
CSVでアップロードしたデータの...
-
php Undefined variableエラー
-
csvの内容を行単位で削除したい
-
携帯絵文字の掲示板について
-
PHP: 未定義エラーの回避方法を...
-
Call to a member function on ...
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
PHPでこのコード自体に意味は無...
-
配列をループでたくさん宣言し...
-
連想配列のキー値(連番)を基...
-
file_existsでファイル名の部分...
-
foreachのなかで次のキーを参照...
-
PHPで多次元配列を一度に処理す...
-
Excel VBAでフィルター後の対象...
-
PHP、{}記号の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数行のデータのPOST処理に関して
-
Resource id #3 と表示されま...
-
別ファイルの構造体の値を読み...
-
PHPでCSVの一部の行を編集したい
-
バイナリファイルの内容を、そ...
-
CSVファイルの最終行のデー...
-
ヒアドキュメントの中のfor文
-
stdClass Objectを連想配列のよ...
-
◆速い、ファイル読み込みは?
-
C言語でCSVファイルの行数を読...
-
phpでCSVファイルの中身を多次...
-
rubyで複数列のデータを一行に...
-
多次元配列の一次元目の最大値...
-
行数が30万件ほどあるCSVから、...
-
配列同士の足し算のループ処理
-
csvの内容を行単位で削除したい
-
FortranのOPEN文
-
CSVデータの行数カウントをした...
-
自動で番号を振りたい
-
While文を使って配列の中身を全...
おすすめ情報