ファイルを作成するプログラムを作っています。
ユーザーにファイル名を入力していただき、
そのファイル名でファイルを作成したいのですが、
char a
の中にファイル名を入力したとき
どのようにすれば
入力されたファイル名でファイルが作成されるのでしょう?
ファイル作成
-
sizuma
Re:ファイル作成
fopen(char *,"モード")です。
fp = fopen("*a","w") だと
*aというファイルを作ります。(*というファイル名は使えないと思いますが・・・)
もう一度言いますが、char型だと一文字しか格納できないですよ?
ユーザーに一文字だけ入力してもらうんですか?
どうしてもaに格納されてる一文字が使いたいなら
char str[/url] = {'\0','\0',} ;
str[0] = a;
fp = fopen(str,"w");
でしょうか?動作は確認してませんが;
というか今更ながらtxtの書き込みでファイルを作ってよかったのでしょうか?
fp = fopen("*a","w") だと
*aというファイルを作ります。(*というファイル名は使えないと思いますが・・・)
もう一度言いますが、char型だと一文字しか格納できないですよ?
ユーザーに一文字だけ入力してもらうんですか?
どうしてもaに格納されてる一文字が使いたいなら
char str[/url] = {'\0','\0',} ;
str[0] = a;
fp = fopen(str,"w");
でしょうか?動作は確認してませんが;
というか今更ながらtxtの書き込みでファイルを作ってよかったのでしょうか?
-
恐
Re:ファイル作成
こんな感じでいいんですかね?
#include <stdio.h>
#include <conio.h>
int main()
{
int i = 0;
int x = 0;
int y = 0;
char a[100];
char str[/url] = {'\0','\0',};
FILE *fp;
printf("ファイル作成\n");
printf("ファイル名を入力してください。\n\n");
printf("ファイル名:");
scanf("%s",&a);
i = strlen(a);
while(y < i)
{
str[x] = a[y];
y++;
x++;
}
fp = fopen(str,"w");
fputs("テスト",fp);
fclose(fp);
getch();
}