无法打印文件中的字符

时间:2014-04-14 09:12:25

标签: c char getc

我试图逐个字符地读取文件并将其打印在屏幕上。 但是,角色没有显示,我正在收到一个带有0001的盒子。 这是我的代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    int ch;

    fp=fopen("myfile.txt", "rb");

    while((ch = getc(fp)) !=EOF){
        putc(ch, stdout);
    }

    fclose(fp);

    return 1;
}

2 个答案:

答案 0 :(得分:0)

您需要检查来自fopen的返回值,以确保您成功打开文件,您可能正在从错误的目录执行。 另外,如果您的文件是TEXT文件,则应使用“rt”打开。

答案 1 :(得分:0)

C中的基本文件打开模式是

“R” -reading

“W” - 写入

“一” -append

“R +” - 读数+写

“W +” - 读数+写

“A +” - “读数+追加”

此代码足以读取.txt文件

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fp;

int ch;

fp=fopen("myfile.txt", "r");

while((ch = getc(fp)) !=EOF){



    putc(ch, stdout);


}



fclose(fp);


return 0;

}