文字を入力してそれをファイルに追加したいです。
1か2を入力して1を押したら自分が入力したものを表示
2を入力したらいくつかの項目を入力(誕生日、名前...)
1で出力するときは項目ごとに改行している
一回目に入力したもの、二回目、三回目の間には’========’の区切りをいれる
これどうやってやればいいでしょうか?
```c
#include <stdio.h>
int main (){
FILE *fp;
char str[1024];
int num = 0;
printf("請問您要 1.輸出好友名單 2.新增好友資料:");
scanf("%d",&num);
fp = fopen("/Users/enomotoryoga/Desktop/01.cpp","r");
fp = fopen("/Users/enomotoryoga/Desktop/01.cpp","w");
if(fp == NULL){
printf("unsucsess open file");
return -1;
}
while(1){
if(num == 1){
while((fgets(str,256,fp))!=NULL){
printf("%s",str);
}
}else if(num == 2){
printf("請輸入姓名:");
fgets(str, sizeof(fp), stdin);
printf("請輸入電話號碼:");
fgets(str, sizeof(fp), stdin);
printf("請輸入生日:");
fgets(str, sizeof(fp), stdin);
}
printf("請問您要 1.輸出好友名單 2.新增好友資料:");
scanf("%d",&num);
}
return 0;
}
```
自分の途中までのコードです
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
いきなりコードを書こうとするんじゃなくて, まずアルゴリズムを考えるべきだろう.
と書いておくけど, いったい何をどう考えてこのようなコードにしたのかがさっぱりわからんなぁ....
No.2
- 回答日時:
拡張子 ".cpp" を持つファイル名は、一般的には C++ 言語プログラムを意味しますので、別な名前にしましょう。
".dat" か ".txt" が適当かと思います。
複数の情報をファイルに記録させるなら fopen を追記を意味する mode="a" で開きましょう。
fgets したものを、そのまま fputs でファイルに書けば良いかと思います。
情報をファイルから読み取るなら、読み取る毎に先頭から読みましょう。
fseek するか fopen しなおすのが良いかと思います。
区切り出力するなら、現在までの入力行数を把握しておいて、Nの倍数の行数なら出力とすればよいでしょう。
fgets などの関数の使い方は、ちゃんと調べましょう。
参考:
https://docs.microsoft.com/ja-jp/cpp/c-runtime-l …
https://manpages.debian.org/jessie/manpages-ja-d …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
Eclipseコンソール表示を、リセ...
-
C++ scanfで止まらない
-
Linuxで入力待ちなしkeyread関...
-
WindowsでEOF
-
C言語のプログラム作成の課題...
-
プログラミング初心者です。 Py...
-
java初心者です。入力されたの...
-
VisualStudio2019のコードアナ...
-
コマンドプロンプトからのEOFの...
-
C言語・YesNo入力のループで解...
-
Linuxプログラミングで、キーボ...
-
コマンドラインから引数を渡し...
-
入力候補を表示させるには・・・?
-
至急教えてください。プログラ...
-
scanfについて
-
ヒントをください!
-
scanf関数について
-
小数か整数かを判定する方法
-
C言語の勉強しています。すみま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
数字以外が入力されたらエラー...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
Linuxで入力待ちなしkeyread関...
-
batプログラム上で文字列を入力...
-
WindowsでEOF
-
Userformの入力順序をタブオー...
-
コマンドプロンプトからのEOFの...
-
EDITコントロールで入力できる...
-
VisualStudio2019のコードアナ...
-
電卓の小数点
-
Eclipseでコマンドラインを入力...
-
小数か整数かを判定する方法
-
cout関数を使っているのですが...
-
UWSCで変数をキー入力
-
ワードで文字を入力する時の変...
おすすめ情報