

いつもお世話になっております。
現在ファイルの作成、入力について勉強しています。
FILE *maketxt;
maketxt = fopen("C:\~\~\~.txt",w+);
上の状況でファイルの作成は出来るようになりましたが、
更にファイル名をfopen関数の外に定義したいと思っています。
というのもファイル名にタイムスタンプを入れたいためで、ためしに以下のようにやってみてもできませんでした。(タイムスタンプに関しては事前にlocaltime関数で定義済み)
fprintf(text,C:\~\~\%d.txt,tm_sec);
maketxt = fopen("text",w+);
うまい書き方をご存知の方、ご教授お願いいたします。
No.2ベストアンサー
- 回答日時:
関数と文字列の使い方が間違ってます。
fprintfはファイルに文字列データを書き出すための関数。要するにテキストファイルを作成するための関数です。
No.1さんの様に書くのが正解です。
注意点を幾つか。
1.C:\~\~\%d.txt
文字列なら"で囲まないとダメ。
\マークはエスケープなので、\を文字としたいときは\\と書く。
なので、文字列に関して復習をしたほうが良いですよ。
2.変数と文字列の出鱈目。
fprintf(text,C:\~\~\%d.txt,tm_sec);
maketxt = fopen("text",w+);
これを見るとtextは変数名。"text"は文字列ですが同列に扱っている様に見えます。変数の型と定数の型の復習をしましょう。
あとは関数の
FILE *fopen(
const char *filename,
const char *mode
);
と書かれているプロトタイプの意味を理解する必要があります。
3.tm_secは秒だけだけど良いの?
本当は、日時にしたいのでは?
詳しくありがとうございます。
型についていまいち理解しきれておらず…まだまだ勉強不足です。
1はこちらに書く際の記述ミス、3は記述を簡略するためあえて秒だけ記述しました。別場所でYYYYMMDDhhmmssに変換しているので大丈夫です。
No.6
- 回答日時:
No.5
- 回答日時:
標準で用意されてるのに perror() というのがあります。
エラーメッセージが出てくれますので試してみてください。
maketxt = fopen(省略);
if(makeext == NULL) { /* エラーだよ */
perror("fopen error ... why? : ");
/* return -1; とかなんとか */
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- フリーソフト Windowsのフリーソフト「拡張コピー」のタイムスタンプ関係の仕様は、タイムゾーンを反映しますか? 2 2022/06/21 02:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Windows 10 Windows10のメタデータの「メディアの作成日時」は、タイムゾーンによって表示が変わりますか? 3 2022/06/21 02:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルへの落とし方について
-
ファイル名をチェックする方法。
-
VisualC++でのバイナリファイル
-
テキストファイルの中身をまと...
-
配列のメモリの確保
-
ファイル関数について
-
C言語・Windows 文字の出力がで...
-
続jファイルに文字列を書く
-
C言語でのtxt検索
-
テキストファイルの読み込み
-
(UWSC)このような場合、解決策...
-
書き込んだファイルに改行が入...
-
テキストファイルの各行の文字...
-
ダンプツール作成… 行き詰まり...
-
ダイアログボックスで複数フォ...
-
どんなプログラムを書いても指...
-
Cでexcelを読込み
-
Webアプリケーションの公開にあ...
-
C言語初心者の質問失礼します。
-
教えてください!vectorworksに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
c言語 2つのファイルを行ご...
-
ファイル読み込みについて
-
巨大なテキストファイル(可変...
-
改行までの一文字ずつのファイ...
-
0x00をファイル出力
-
複数テキストファイルを読み込...
-
EOF判定されない
-
【VB.Net】バイト型配列に読み...
-
変数内の文字列を空にできない
-
[動的配列]C言語の勉強で簡単な...
-
続・EOF判定されない
-
0バイトファイルの作成
-
ファイルサイズ指定し、ファイ...
-
winsock recvでの文字化け
-
int型の値をファイルに保存
-
UNIXシェルプログラム等からバ...
おすすめ情報