std::freopen
提供: cppreference.com
ヘッダ <cstdio> で定義 | ||
まず、あらゆるエラーを無視して stream
に紐付けられたファイルを閉じることを試みます。 その後、 filename
がヌルでなければ、 fopen によって行われたかのように、 mode
を使用して filename
で指定されたファイルを開くことを試み、そのファイルを stream
の指すファイルストリームに紐付けます。 filename
がヌルポインタの場合は、すでに stream
に紐付けられているファイルを開き直すことを試みます (この場合にモード変更が可能かどうかは処理系定義です)。
目次 |
[編集]引数
filename | - | ファイルストリームを紐付けるファイル名 | ||||||||||||||||||||||||||||||||||||||||||||||||||
mode | - | 新しいファイルアクセスモードを決定するためのヌル終端文字列
| ||||||||||||||||||||||||||||||||||||||||||||||||||
stream | - | 変更するファイルストリーム |
[編集]戻り値
成功した場合は stream
、失敗した場合は NULL。
[編集]ノート
freopen
は入出力操作または std::fwide によっていったん確立されたストリームのナロー/ワイド指向を変更する唯一の方法です。
[編集]例
以下のコードは stdout
をファイルにリダイレクトします
Run this code
#include <cstdio> int main(){std::printf("stdout is printed to console\n");if(std::freopen("redir.txt", "w", stdout)){std::printf("stdout is redirected to a file\n");// this is written to redir.txtstd::fclose(stdout);}}
出力:
stdout is printed to console
[編集]関連項目
ファイルを開きます (関数) | |
ファイルを閉じます (関数) | |
freopen の C言語リファレンス |