#include<stdio.h>
void hello(FILE * fp)
{
if((fp = fopen("log","r")) == NULL)
printf("%s", "Error opening file");
}
void main()
{
char p;
FILE *sf=fopen("prac.txt","r");
hello(sf);
p=fgetc(sf);
printf("%c",p);
}
私はhello
機能を経由してlog
をファイルを指すファイルポインタsf
を変更するようだったが、printf
はまだprac.txt
ファイルの内容を印刷しています。他の機能を経由してファイルポインタを更新
あなたは、このような – macroland
あなたのコードfilename' '文字列としてご' hello'の二番目の引数を、必要とするが、純粋なCで、私はC++のタグを削除しました。 CとC++は**同じ言語ではありません** – wasthishelpful
[C言語の関数に渡されたポインタを変更するにはどうすればいいですか?](http://stackoverflow.com/questions/766893/how-do -i-modify-a-pointer-a-of-a-function-in-c) –