ファイルを作成するプログラムを作っています。
ユーザーにファイル名を入力していただき、
そのファイル名でファイルを作成したいのですが、
char a
の中にファイル名を入力したとき
どのようにすれば
入力されたファイル名でファイルが作成されるのでしょう?
ファイル作成
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(); }