![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
配列をまるごとフォルダにコピーして、フォルダを表示させるプログラムを作りたいです。
以下のプログラムを作ったのですがうまくいきません。
初めにフォルダがあったら読み込んで、メニューである2を入力したら読み込んだものをそのまま表示、何もなかったら1で入力したものを2で表示させたいです。
実行させると、何も出力されず終了します。
配列に入力したものを格納することは出来ているみたいなので、配列そのものをフォルダに入れて、表示させるにはどうしたら良いでしょうか。
わかる方教えて欲しいです。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct aaa{
char *a;
char *b;
char *c;
}test;
char x[12];
char y[12];
char z[12];
int main(void){
test s[3];
FILE *file1,*file2,*file3;
int menu;
char ans1,ans2,ans3;
menu=1;
int c;
int h;
h=1;
c=1;
int n=0;
int m=0;
int l=0;
char data1[12],data2[12],data3[12];
file1=fopen("data1.txt","r");
file2=fopen("data2.txt","r");
file3=fopen("data3.txt","r");
/*ファイルの中身があったら読み込む*/
if(file1==NULL){
printf("data1ファイルはありません\n");
}
else{
while(1){
ans1=fscanf(file1,"%s",data1);
if(ans1==EOF){
break;
}
}
fclose(file1);
}
if(file2==NULL){
printf("data2のファイルはありません\n");
}
else{
while(1){
ans2=fscanf(file2,"%s",data2);
if(ans2==EOF){
break;
}
}
fclose(file2);
}
if(file3==NULL){
printf("data3のファイルはありません\n");
}
else{
while(1){
ans3=fscanf(file3,"%s",data3);
if(ans3==EOF){
break;
}
}
fclose(file3);
}
while(c!=2){//2のとき終了
if(menu==1){//メニュー表示
printf("\n[1]データ入力\n");
printf("[2]データ表示して終了\n");
printf(">");
scanf("%d",&c);
}
switch(c){
case 1:
printf("何番目のデータを入力したいですか:");
scanf("%d",&h);
printf("名前は?:");
scanf("%11s%*[^\n]%*c",x);
s[h].a=(char*)malloc(sizeof(char)*(strlen(x)));
strcpy(s[h].a,x);
printf("性別は?:");
scanf("%11s%*[^\n]%*c",y);
s[h].b=(char*)malloc(sizeof(char)*(strlen(y)));
strcpy(s[h].b,y);
printf("年齢は?:");
scanf("%11s%*[^\n]%*c",z);
s[h].c=(char*)malloc(sizeof(char)*(strlen(z)));
strcpy(s[h].c,z);
break;
case 2:
if(file1==NULL||file2==NULL||file3==NULL){
file1=fopen("data1.txt","w");
file2=fopen("data2.txt","w");
file3=fopen("data3.txt","w");
while(1){
ans1=fprintf(file1,"%s",s[n].a);
n++;
if(ans1==EOF){
break;
}
}
fclose(file1);
while(1){
ans2=fprintf(file2,"%s",s[m].b);
m++;
if(ans2==EOF){
break;
}
}
fclose(file2);
while(1){
ans3=fprintf(file3,"%s",s[l].c);
l++;
if(ans3==EOF){
break;
}
}
fclose(file3);
}
file1=fopen("data1.txt","r");
file2=fopen("data2.txt","r");
file3=fopen("data3.txt","r");
while(1){
ans1=fscanf(file1,"%s",data1);
if(ans1==EOF){
break;
}
printf("%s",data1);
}
fclose(file1);
while(1){
ans2=fscanf(file2,"%s",data2);
if(ans1==EOF){
break;
}
printf("%s",data2);
}
fclose(file2);
while(1){
ans3=fscanf(file3,"%s",data3);
if(ans3==EOF){
break;
}
printf("%s",data3);
}
fclose(file3);
printf("\n終了\n");
break;
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
window.open でのファイル指定方法
-
PerlでのUseless use...
-
WindowsでPerlをする際,1行目の...
-
VBA テキストファイルを読み取...
-
巨大なテキストの最終行を取得...
-
配列をまるごとフォルダにコピ...
-
ExcelをCSV書き出す場合のシー...
-
ReadLineでの読み出し行を指定する
-
VBAでCSVファイルの特定行を書...
-
awkスクリプトでダブルクォーテ...
-
エクセルVBA コードが同じでも...
-
タブの色を変更する方法
-
CSVデータの編集の際の重複チェ...
-
サーバーにある特定の拡張子フ...
-
指定したフォルダにアップロード
-
batファイルでrenameができませ...
-
パスから最後のディレクトリだ...
-
Perlの初心者です。2重ループ...
-
Perlの質問:行と列を入れ替え...
-
Perl<->Oracle間での文字化けに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python renameについて
-
fgets で値が取得できない
-
window.open でのファイル指定方法
-
巨大なテキストの最終行を取得...
-
ファイル全てを .xlsm に変更し...
-
read() on unopened filehandle...
-
csvファイルの横方向への改行に...
-
VBAコードを張り付け後のエクセ...
-
Firefox で file:// で始まる U...
-
JSP URLに表示される拡張子 .jsp
-
drtファイルはどうしたら開...
-
並び方、
-
重複ファイル名ある場合ファイ...
-
VBA テキストファイルを読み取...
-
cgiでサーバーにファイルを追加...
-
HTMLのフォームで画像と文...
-
WindowsでPerlをする際,1行目の...
-
バイナリファイルの出力
-
Perlでのパーミッション変更の仕方
-
foreach内での変数の扱い?
おすすめ情報