CODE#1:Cプログラミングにおけるファイル処理:以下の2つのコードの違いは何ですか?
#include<stdio.h>
void main()
{
FILE *fp;
char ch;
fp=fopen("1.txt","r");
while((ch=fgetc(fp))!=EOF)
{
printf("%c",ch);
}
fclose(fp);
}
コード#2: CODE#2でそれが整数データ型の下に宣言している間
#include<stdio.h>
void main()
{
FILE *fp;
int ch;
fp=fopen("1.txt","r");
while((ch=fgetc(fp))!=EOF)
{
printf("%c",ch);
}
fclose(fp);
}
ここCODE#1変数CHでは、文字データ型の下で宣言され、私の質問は、どのように両方のコードの出力が同じになるのですか?文字(CODE#1のch変数に格納されている)と整数値(EOFが返す)をどのように比較できますか?整数値はどのようにして(intergerデータ型の)ch変数に格納され、CODE#2に出力されますか?
このプログラムは、16進数「0xFF」という文字を含むファイルで実行します。突然両方のコードの出力が同じではありません。 –
は0xFFで1.txtファイルを保存し、上記のCODE#1とCODE#2を使用して同じ出力を得ています。あなたの答えを教えてくださいできますか? – Vinu