ファイル名を変数で

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

ファイル名を変数で

#1

投稿記事 by ynhrt » 14年前

C言語でファイルを出力するときに、ファイル名に変数を使ったり、ファイル名のあとに変数を付け加えたりしたいのですがどのようにしたらよいでしょうか?

例えば  int a = 100; だとしたら
ファイル名を100として出力したり、
もともと abc というファイルがあったら、それを abc100 などにしたいのです。

お願いします。

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: ファイル名を変数で

#2

投稿記事 by bitter_fox » 14年前

コード:

char *file_name = (char*)calloc(strlen("ABC")+1, sizeof(char));
char *buf_str;
int n = 100;

strcpy(file_name, "ABC");

buf_str = (char*)calloc(4, sizeof(char));
sprintf(buf_str, "%d", n);

////////////////////////////////////////////////////////////////////
file_name = (char*)realloc(file_name, (strlen(file_name) + strlen(buf_str)+1)*sizeof(char));
strcat(file_name, buf_str);
////////////////////////////////////////////////////////////////////
上のコードで追加できます。

まず、realloc()で領域を拡張します、strlen(file_name) + strlen(buf_str) + 1 はfile_nameの長さに、追加する文字列の長さと\0文字分を足してます。

-----------------------------------------------------------------------------------------------------------------------------
一部コードにミスがあったので修正。

閉鎖

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