- ベストアンサー
ファイル書き込み時のファイル名について
Cでコンソールアプリケーションを作っています。 ファイルにデータを書き込む時に、ファイルポインタを使ってファイルを開きますよね。たとえば、下のような感じで。 fp = fopen("./hogehoge.txt","w") このとき、hogehoge.txtに当たる部分をプリプロセッサのマクロなどを使って変更することはできるのでしょうか? 毎回下のほうまでスクロールするのが非常に煩わしいのですが…。 分かる方いらっしゃいましたら、よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- fwriteで書き込み
やりたいことは・・・下に書いていきます。 何がおかしいのか教えてください。 $fp = fopen("example.txt", "r+"); fopenでexample.txtを読み書き可能で開きます。 返り値はポインタですよね。 $fseek = fseek($fp, -3, SEEK_END); $fpで開いたexample.txtのポインタを、ファイルの最後尾から3バイト戻したつもりです。 返り値は 0 成功 -1 失敗 $ftell = ftell($fp); で、今のポインタの位置を確認します。 返り値はポインタ。 fwrite($ftell,$write); $writeの内容を、example.txtの最後から3バイト戻ったところへ書き込み・・・のつもりなのですが。 専門分野ではありませんので、調べてもなかなか進まないです。 ご教授お願いします。
- ベストアンサー
- PHP
- fopenの追記モードについて
宜しくお願いします。 fopenで追記モードでファイルを追記するとき、 FILE *fp; fp = fopen("hogehoge.txt", "a"); fprintf(fp, "aaa\n"); fclose(fp); fopen("hogehoge.txt", "a"); fprintf(fp, "bbb\n"); fclose(fp); と毎回ファイルを開きなおすと、出力結果が bbb aaa となってしまうのですが、 aaa bbb と出来ない物でしょうか?
- ベストアンサー
- C・C++・C#
- 同時にファイル読み込み 書き込み
現在、ヒストグラムのプログラムを作成しています。 まず0~255の1000個の乱数ファイルdata.txtを読み込み、 ヒストグラムは出来たのですが、 エクセルでグラフを作りたいので、 data1.txtに書き込みたいので、下のソースでやってみましたが、 0~255のカウントが全部0になってしまします。 fp = fopen("data1.txt","w");が無ければ正常に処理されます。 どうか教えてください。よろしくお願いします。 #include <stdio.h> #define BUF 10 #define MAX 256 void count(FILE *fp , int* counter); int main(void) { FILE *fp; fp = fopen("data.txt","r"); fp = fopen("data1.txt","w"); int counter[MAX]; int i; for(i=0 ; i<MAX ; i++) { counter[i] = 0; } count(fp , counter); for(i=0 ; i<MAX ; i++) { printf("%d %d\n" , i, counter[i]); } fclose(fp); return 0; } void count(FILE* p_file , int* counter) { char buf[BUF]; while (fgets(buf , BUF , p_file) != NULL) { int n; sscanf(buf , "%d" , &n); counter[n]++; } }
- ベストアンサー
- C・C++・C#
- ファイルの書き込みについて
ファイルの書き込みに関する質問です。 下のコードでは、 3行目「$ptr=fopen("kekka.txt", "w"); //ファイルを開く」 に問題があるというエラーが出ます。 しかし、文法的には問題はないと思うのですが・・・。 サーバーには、"kekka.txt"というファイルが置いてあります。 何かアドバイスがありましたら、よろしくお願いいたします。 <?php $x = "こんにちは"; $ptr=fopen("kekka.txt", "w"); //ファイルを開く flock($ptr, LOCK_EX); //ファイルをロックする fputs($ptr, $x); //書込む flock($ptr, LOCK_UN); //ロックを解除する fclose($ptr); //ファイルを閉じる ?>
- ベストアンサー
- PHP
- 連続したファイル名を作成する方法を教えてください
プログラムを作成しています。 一つだけのファイルにデータを出力するのであれば fp = fopen("temp.txt", "w"); と宣言すればよいですが、 今、 001.txt 002.txt * * * 100.txt と言うぐらいに大量のファイルを作成する必要があります。 この場合どのようにしたらよいでしょうか?
- ベストアンサー
- C・C++・C#
- ファイル名を複数個配列で確保したいときどうすればいいですか?
int i; FILE *fp[5]; //ここの宣言がわかりません char *(filename[5])={"1.txt","2.txt","3.txt","4.txt","5.txt}; for(i=0;i<5;i++) fp[i]=fopen(filename[i],"w"); のようなことをしたいのですが、ファイル名を複数個配列に格納するにはどのようにしたらいいんでしょうか? 回答お願いします。
- ベストアンサー
- C・C++・C#
- 新しいファイルの書き込み ファイルができたり/出来なかったり
$fp3 = fopen("ent.txt,"w"); とオープンして fputsで書き込み fclose("ent.txt"); でクローズしています このプログラムをlocalhost/a.phpとかで実行すると 出力されるはずの、ent.txtファイルが exploreで見えないのです IEの更新ボタン(再実行?)を押すと ent.txtが見えます WindowXPにApacheとphpをインストールして 実行しています またこのルーチンを関数化して外部ファイルに置き 実行する時に、includeでもってくるように 変えましたが、ロジック上は問題ないと 思うんですが よろしくお願いします
- ベストアンサー
- PHP
- ファイルに書き込む時の負荷について
PHPバージョン5.2.4を使っています。 次のような // ------------------------------------ $fp = fopen("data.txt", "w"); $buf = ""; for ($i = 1; $i <= 3; $i++) { $buf .= "aaa$i\n"; } fwrite($fp, $buf); fclose($fp); // ------------------------------------ という変数にいったん保存してから書き込む場合と // ------------------------------------ $fp = fopen("data.txt", "w"); for ($i = 1; $i <= 3; $i++) { $buf = "aaa$i\n"; fwrite($fp, $buf); } fclose($fp); // ------------------------------------ というその都度ファイルに書き込む場合とでは どちらが良い悪いというのはあるのでしょうか? たとえばこちらのやり方は負荷がかかるなど ループが多くなっていった場合に違いがでてくるのでしょうか?
- ベストアンサー
- PHP
- ファイル名を任意の名前に作成する方法
計測器からのデータを取得してテキストファイルに書き込みたいのですが、 1)ファイル名を取得された時刻にしたいのですがどのようにしたらいいのでしょうか?fp=fopen("D:\\trace.txt","w");中のtraceの所をかえたいです。 時刻は日時の関数を使えばいいと思いますがファイル名をどのようにしたらよいか・・・ 2)計測器から取得されるデータを時間ごとにファイルを作成したいのですがどのようにしたらいいのでしょうか?あらかじめファイルポインタを用意しておくと膨大の数が必要となってしまうのでどうしたらよいか・・・ 3)仮に時間ごとに作成したファイルを読み込むにはどうしたらよいでしょうか? 例えばfp=fopen("D:\\2008_01_12:00","r");のように直接パスを入力すれば読み込めると思いますが任意のファイル名だといまいち分からないです。
- ベストアンサー
- C・C++・C#
- ThinkCentre neo 50q Tiny Gen 4のm.2ssdを交換した際に、発熱が気になるためヒートシンクを装着しようと考えています。
- 狭いスペースに装着する必要がありますが、どのくらいのヒートシンクまで使えるのか知りたいです。
- Lenovo製のデスクトップPCであるThinkCentre neo 50q Tiny Gen 4のm.2ssd交換後のヒートシンクの最大許容範囲について教えてください。
お礼
なるほど、このようにやらなければいけないんですね。 助かりました。ありがとうございました。