#include <stdio.h>
#include <Windows.h>
main()
{
FILE *f;
int c;
errno_t err = fopen_s(&f,"E:\\workspace\\TVPLAY\\data\\diffFrame\\txts\\file2.txt","r");
if (err)
{
printf("can't open file\n");
}
c = fgetc(f);
while (c!=EOF)
{
printf("%d ",c);
c = fgetc(f);
}
Sleep(30000);
return 0;
}
定義的c是int型
但是如果如此輸出是ascII的值
0空格1空格2空格2空格0空格
會輸出
48 32 49 32 50 32 50 32
如果在函數前面定義int i
int i;
在下面執行強制轉換
i=(int)c;
則在此行編譯報錯。
嗯,C編譯器不支持這種寫法
i = (int)c;
C++才支持。