ファイルの入出力

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
☆彼方☆

ファイルの入出力

#1

投稿記事 by ☆彼方☆ » 14年前

今電話帳のプログラムを作成しています。実装している機能は、入力、削除、表示、SAVEなどです。
セーブしたファイルをロードして、その後再び、そのロードしたファイルに対して、入力、削除、表示などを行っていきたいのですがうまくいきません。
どなたか教えていただけないでしょうか?
分かりにくい質問かもしれませんがよろしくお願いします。


コード:

Pbook *fileroad( Pbook *head )
{
	Pbook *pbook;
	Pbook *temp;
	pbook = head;
	pbook = ( Pbook * )malloc( sizeof( Pbook ) );
	head = ( Pbook * )malloc( sizeof( Pbook ) );
	temp = ( Pbook * )malloc( sizeof( Pbook ) );
	/* ファイルポインタ */
	FILE *fp = NULL;

	char Command = '\0';
	char Filename[ TEXTSIZE ] = {'\0'};
	char str_temp[ TEXTSIZE ] = {'\0'};
	int i = '\0';

	printf( "電話帳のファイルを開きますか?Yes/No(y/n)\n>>" );
	Command = command( Command );
	switch( Command )
	{
		case 'Y':
		case 'y':
			printf( "どのファイルを開きますか?\n>>" );
			inputtext( Filename );
			fp = fopen( Filename, "r" );
			if( fp == NULL )
			{
				printf( "ファイルを開くことができませんでした。\n");
				fclose( fp );
				return ( head );
			}
			else
			{
				fgets( str_temp, TEXTSIZE, fp );			
				i = *str_temp;
				while( i != NULL )
				{
					strcpy( temp->name, str_temp);
					strcpy( temp->telnumber, str_temp);
					temp->next = NULL;
					pbook->next = temp;
					fgets( str_temp, TEXTSIZE, fp );
					i = *str_temp;
				}
			}
	}
	return ( head );
}

box
記事: 2002
登録日時: 14年前

Re: ファイルの入出力

#2

投稿記事 by box » 14年前

☆彼方☆ さんが書きました: セーブしたファイルをロードして、その後再び、そのロードしたファイルに対して、入力、削除、表示などを行っていきたいのですがうまくいきません。
どううまくいかないんですか?何かエラーメッセージが出るんですか?
これまでいろんなところで書いてきましたとおり、単に「うまくいかない」とだけ書くのは、
事実上「何も言ってない」のと同じです。
また、提示されたソースコードは、そのうまくいかないという「入力、削除、表示」の機能を実装するためのものですか?

# fileroadって、たぶんつづりが違ってるんじゃないだろうか。当方なら、fileloadって書きたい。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

閉鎖

“C言語何でも質問掲示板” へ戻る