質問: C言語にて,テキスト出力するファイルを作っています. そこで,どこを調べても`fopen(&fp, "hoge.txt", "w");`のように,前提として実態のあるファイルを開き,改変して出力するものしか見当たりません. 現状では,空ファイルをコピーして,コピーしたファイルに書き込んでいます. windows上での運用が前提です. fopenのように,開かずともファイルを作成,またはコード内でファイルを生成する方法はあるのでしょうか?
回答: > > そこで,どこを調べてもfopen(&fp, "hoge.txt", "w");のように,前提として実態のあるファイルを開き,改変して出力するものしか見当たりません. > > > 出力モードでオープンすれば、ファイル「hoge.txt」が存在してない場合でもファイルオープンは成功し、「hoge.txt」という新規ファイルが作られそこに書き込まれると思うのですがそれではダメなのですか? ちなみに、メモリマップドファイルを作るmmap()というシステムコールがあり、それを使えばメモリ上にファイルアクセスのインターフェイスでアクセスするメモリ領域のようなものを作ることは出来ます。