c - 文件输出异常

标签 c file io

这是我读取文件的代码:

void readNote() {
    FILE* file = fopen("records.txt", "r"); /* should check the result */
    char line[256];

    while (fgets(line, sizeof(line), file)) {
        int i = 0;
        while(line[i] != ' ') {
            printf("%c", line[i]);
            i++;
        }
    }

    fclose(file);
}

这是我的文件:

December 20: Note 1



March 21: Note 2



March 4: My note 1



June 23: Note 2 happy



January 3: Birthday



January 3: Birthday

这是我运行函数时的输出:

#     @Γ⌂è∙  ≈áA     [3wè∙
#     @Γ⌂è∙  ≈áA     [3wè∙
#     @Γ⌂è∙  ≈áA     [3wè∙  December
cember
cember
cemberMarch
rch
rch
rchMarch
rch
rch
rchJune
ne
ne
neJanuary
nuary
nuary
nuaryJanuary

为什么会出现那些不寻常的字符?

最佳答案

尝试

改变

while(line[i] != ' ') {

while(line[i] != ' ' && line[i] != '\n' && line[i] != '\0') {

关于c - 文件输出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834944/

相关文章:

Bash:连接多个文件并在每个文件之间添加 "\newline"?

ios - 引用 iOS 应用程序的 Xcode 项目中的目录

java - 如何使用 java.util.Formatter 类将数据插入到 Java 文件中?

c# - windows服务exe停止后如何修改?

c++ - 文件读写的同时逐行读取文件

c++ - 如何在运行时查看我的 C 程序的内存布局?

c - K&R 中的示例在其函数之外访问局部变量?

c - 如何在具有多个条件的 if 语句中使用 or 运算符

java - 判断两个文件是否存储相同的内容

c - 最后一个 scanf() 被跳过或忽略