以前質問の内容がたらずにもう一度同じ質問をすることをお許しください。
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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
構造体のextern方法
C言語・C++・C#
-
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
エラーの原因は?「この関数の定義が見つかりません」
C言語・C++・C#
-
-
4
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
5
#defineの定数を文字列として読み込む
C言語・C++・C#
-
6
unsigned char配列への入力の仕方
C言語・C++・C#
-
7
C言語での引数の省略方法
C言語・C++・C#
-
8
分割コンパイルの#defineについて
C言語・C++・C#
-
9
1 つ以上の複数回定義されているシンボルが見つかりました
C言語・C++・C#
-
10
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
11
関数から配列を返すには?
C言語・C++・C#
-
12
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
13
char*を初期化したいのですが
C言語・C++・C#
-
14
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
15
C#で構造体の配列を持った構造体を使いたいのですが
C言語・C++・C#
-
16
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
17
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
18
C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい
C言語・C++・C#
-
19
2重定義って??
C言語・C++・C#
-
20
C言語のサフィックスについて
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヒアドキュメントの中のfor文
-
doxygenを使用する環境について
-
別ファイルの構造体の値を読み...
-
文字列の文字一文字ずつを解析...
-
PHPで外部ファイルを読み込むと...
-
複数行のデータのPOST処理に関して
-
rubyで複数列のデータを一行に...
-
二次元配列の削除
-
phpで日本語の文字列を抽出した...
-
絞り込んでランダム表示
-
CSVファイルの最終行のデー...
-
csvのソーティング
-
「test.php?」の後のデータの読...
-
クッキーがよくわかりません
-
指定文字を含むファイル名の取得
-
データ受け取り
-
DB参照して結果を出力する。
-
携帯絵文字変換スクリプトで20...
-
プルダウンメニューにDBの内容...
-
配列をループでたくさん宣言し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
複数行のデータのPOST処理に関して
-
エラーメッセージ(無効な間接...
-
Resource id #3 と表示されま...
-
ヒアドキュメントの中のfor文
-
自動で番号を振りたい
-
C言語でCSVファイルの行数を読...
-
配列同士の足し算のループ処理
-
stdClass Objectを連想配列のよ...
-
PHPでCSVの一部の行を編集したい
-
phpを実行するとファイルダウン...
-
行数が30万件ほどあるCSVから、...
-
phpでCSVファイルの中身を多次...
-
php Undefined variableエラー
-
CSVデータの行数カウントをした...
-
csvの内容を行単位で削除したい
-
複数ファイルで、それぞれの行...
-
テキストデータから指定行の削除
-
rubyで複数列のデータを一行に...
-
PHP5でCSVの指定行データだけを...
おすすめ情報