程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> ascii-C語言文件讀寫和類型轉換的一個小問題

ascii-C語言文件讀寫和類型轉換的一個小問題

編輯:編程解疑
C語言文件讀寫和類型轉換的一個小問題
#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++才支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved