ホームページ コンピューターのチュートリアル コンピュータ知識 C言語でファイルデータを構造体変数に代入する方法

C言語でファイルデータを構造体変数に代入する方法

Jan 12, 2024 pm 03:27 PM

C言語でファイルデータを構造体変数に代入する方法

/*指定された性別[2]は 4 文字に収まらないようです。 。 。 。 。 。でも質問の意味は分かりました。

**プログラミングを簡略化するために、構造体のすべてのデータを文字配列に変更しました。数値が必要な場合は、別の変換ステップを追加するだけです**。比較的単純なので書きません。さらに、プログラムで使用される構造体配列 ファイルに何行あるかわからない場合は、メモリを節約するために動的割り当てを使用できます。急いで書いたので、カプセル化された関数はありませんが、確かに使えるので、これで間に合わせてください~~~

*/

####含む ######

構造体採用<...>

{

文字ID[10];

文字名[10];

文字性別[5];

文字年齢[5];

文字教育[10];

文字賃金[5];

文字アドレス[20];

文字番号[20];

};

int _tmain(int argc, _TCHAR* argv[])

{

char buf[100];

ファイル* pf=NULL;

構造体は Ep[10]={};

を採用

int フラグ=0;

pf=fopen("employ.dat","r");

if(!pf)

{

printf("ファイルを開けませんでした!\n");

system("一時停止");

-1 を返す;

}

while(fgets(buf,99,pf))

{

char* pchar=buf;

for(int i=0;i {

Ep[フラグ].id[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i {

Ep[フラグ].name[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i {

Ep[フラグ].sex[i]=*pchar;

if(*pchar ==',')

###壊す;### }

for(int i=0;i {

Ep[フラグ].age[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i

{

Ep[フラグ].edu[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i {

Ep[フラグ].wage[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i {

Ep[フラグ].アドレス[i]=*pchar;

if(*pchar ==',')

###壊す;###

}

for(int i=0;i {

Ep[フラグ].number[i]=*pchar;

if(!*pchar )

###壊す;###

}

//printf("%s",buf);

### フラグ;###

}

fclose(pf);

system("一時停止");

0を返す;

}

C 言語の txt ファイルでデータ変数を使用する方法

fopen 関数と fscanf 関数を使用して、txt ファイルからコンテンツを読み取り、簡単な操作を実行します。

1.Fopen 関数のプロトタイプ: FILE * fopen(const char * path, const char * mode);

fopen 関数の最初のパラメータはファイル パス、2 番目のパラメータは開くメソッドです。次のメソッドがあります:

r ファイルを読み取り専用モードで開きます。ファイルは存在している必要があります。

r ファイルを読み取り/書き込みモードで開きます。ファイルは存在している必要があります。

rb は、読み取りおよび書き込み用にバイナリ ファイルを開き、データを読み取ることができるようにします。

rw 読み取りと書き込み テキスト ファイルを開き、読み取りと書き込みを可能にします。

w 書き込み専用ファイルを開きます。ファイルが存在する場合、ファイル長は 0 にクリアされ、ファイルの内容は消去されます。ファイルが存在しない場合は、ファイルを作成します。

w 読み取りおよび書き込み可能なファイルを開きます。ファイルが存在する場合、ファイルの長さはゼロにクリアされます。つまり、ファイルの内容は消去されます。ファイルが存在しない場合は、ファイルを作成します。

a 書き込み専用ファイルを追加モードで開きます。ファイルが存在しない場合はファイルが作成され、ファイルが存在する場合は書き込まれたデータがファイルの末尾に追加され、ファイルの元の内容が保持されます。 (EOF 文字は予約済み)

a 読み書き可能なファイルを追加モードで開きます。ファイルが存在しない場合はファイルが作成され、ファイルが存在する場合は書き込まれたデータがファイルの末尾に追加され、ファイルの元の内容が保持されます。 (元の EOF 文字は保持されません)

wb 書き込み専用の新しいバイナリ ファイルを開くか作成します。データ書き込みのみが許可されます。

wb 読み取りおよび書き込み バイナリ ファイルを開くか作成して、読み取りと書き込みを可能にします。

wt 読み取りと書き込み用にテキスト ファイルを開くか作成します。読み取りと書き込みは許可されます。

at は、読み取りおよび書き込み用にテキスト ファイルを開き、テキストの末尾にデータを読み取りまたは追加できるようにします。

ab は、読み取りおよび書き込み用にバイナリ ファイルを開き、ファイルの末尾にデータを読み取りまたは追加できるようにします。

上記の形式文字列には、rb、w b、ab などの b 文字を追加できます。 b 文字は、開かれたファイルがプレーン テキスト ファイルではなくバイナリ ファイルであることを関数ライブラリに伝えるために追加されます。 。

戻り値: ファイルが正常にオープンされると、ストリームを指すファイル ポインターが返されます。ファイルのオープンに失敗した場合は、NULL が返され、エラーコードが errno に格納されます。

2.ルーチン:

1

2

3

4

5

6

###7###

8

9

10

11

12

####含む######

#F_PATH "d:\\myfile\\file.dat"を定義します

文字;

intmain(){

FILE*fp=NULL; //注意が必要です

fp=fopen(F_PATH,"r");

if(NULL==fp) return-1; //エラーコードを返す場合

while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //テキストから読み取ってコンソールに出力します

fclose(fp);

fp=NULL; //null を指す必要があります。そうでない場合は、元の開いたファイル アドレスを指すことになります

return0;

}

C 音声はどのようにして txt ファイル内の特定の行を読み取って変数に割り当てるのでしょうか

最も簡単な方法は、1 行ずつ読み取り、必要なデータのみを取得することです。以下は私が書いた簡単な例ですが、賞品を 3 回引きましたが、重複はありませんでした。

####含む ###### ####含む ###### ####含む ######

#define PEOPLE_NUM 10 //ファイルには 10 人の名前があります

void get_prize(FILE* fp, char 賞品名[])

{

int num;

int i;

fseek(fp, 0, SEEK_SET);

printf("開始...\n");

num = rand() % PEOPLE_NUM 1;

for(i = 0; i {

fgets(賞品名, 32, fp);

}

printf("%s が賞品を獲得します!!!\n", 賞品名);

}

int main()

{

FILE* fp = fopen("name.txt", "r");

int award_num;

int i;

文字賞品名[32] = {0};

srand(時間(0));

for(i = 0; i {

printf("\n");

get_prize(fp, 賞品名);

}

fclose(fp);

0を返す;

}ファイルは次のようになります:

スクリーンショットの実行:

この種のプログラムを作成する場合、プログラムが処理しやすいように、名前を保存するファイルをきちんと整理する必要があります。幸運を。

以上がC言語でファイルデータを構造体変数に代入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows設定でドライブヘルス警告を修正する方法を発見する Windows設定でドライブヘルス警告を修正する方法を発見する Mar 19, 2025 am 11:10 AM

Windowsの設定でのドライブヘルス警告はどういう意味ですか?ディスク警告を受け取ったときに何をすべきですか?このPHP.CNチュートリアルを読んで、この状況に対処するための段階的な指示を取得してください。

レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) Mar 21, 2025 pm 07:46 PM

記事では、誤った編集からWindowsレジストリ、予防策、バックアップ方法、潜在的な問題の編集について説明します。主な問題:システムの不安定性と不適切な変化によるデータ損失のリスク。

Windowsでサービスを管理するにはどうすればよいですか? Windowsでサービスを管理するにはどうすればよいですか? Mar 21, 2025 pm 07:52 PM

記事では、システムの健康のためのWindowsサービスの管理、開始、停止、サービスの再起動、安定性のためのベストプラクティスなどについて説明します。

Steam Cloudエラーを修正する方法は?これらの方法を試してください Steam Cloudエラーを修正する方法は?これらの方法を試してください Apr 04, 2025 am 01:51 AM

Steam Cloudエラーは、多くの理由によって引き起こされる可能性があります。ゲームをスムーズにプレイするには、ゲームを開始する前にこのエラーを削除するためにいくつかの対策を講じる必要があります。 PHP.CNソフトウェアは、この投稿でより有用な情報と同様に、いくつかの最良の方法を紹介します。

Windowsメタデータとインターネットサービスの問題:修正方法は? Windowsメタデータとインターネットサービスの問題:修正方法は? Apr 02, 2025 pm 03:57 PM

「Windowsメタデータとインターネットサービス(WMIS)への接続が確立できなかった」が表示される場合があります。イベントビューアのエラー。 PHP.CNからのこの投稿では、Windowsメタデータとインターネットサービスの問題を削除する方法を紹介します。

ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

記事では、リターンやバルクの変更など、ウィンドウ上のファイルタイプのデフォルトアプリの変更について説明します。主な問題:組み込みのバルク変更オプションはありません。

KB5035942の更新問題を解決する方法 - クラッシュシステム KB5035942の更新問題を解決する方法 - クラッシュシステム Apr 02, 2025 pm 04:16 PM

KB5035942更新問題 - クラッシュシステムは一般にユーザーに発生します。 Imburitedの人々は、クラッシュするシステム、インストール、健全な問題など、一種のトラブルから抜け出す方法を見つけることを望んでいます。これらの状況をターゲットにして、この投稿はphp.cn wilが発行しました

グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

この記事では、システム設定を管理するためにWindowsでグループポリシーエディター(gpedit.msc)を使用する方法、一般的な構成とトラブルシューティング方法を強調する方法について説明します。 Gpedit.mscはWindows Home Editionsでは利用できないことに注意してください。

See all articles