c - 在C中为txt添加一个空格

标签 c file-io

我正在用 fscanf 逐字读取 txt,从复数和空词中清除 txt。 问题是当我用 fwrite 写干净的 txt 时,它会一起写。

我试图定义一个字符并仅指定一个空格,但在编写它时还会添加“òwD”。 有人知道如何只添加 ' ' 吗?

char espa[0];       
espa[0]=' ';
f2 = fopen("clean.txt", "w");   

       while(!feof(f))
       {
            char reader[100];
            int aux;
            fscanf (f, "%s", reader);

            if feof(f){
                printf("%s ", reader);
                printf("\n\nFin del fichero\n");
            }
            else
                if(cadena[(strlen(reader)-1)]=='s'){
                    for(aux=0;aux<(strlen(reader)-1);aux++){
                        printf("%c", reader[aux]);
                    }
                    fwrite(cadena, (strlen(reader))-1, 1, f2); //Add clean word
                }
                else{
                    printf(" %s ", reader);
                    fwrite(reader, (strlen(reader)), 1, f2); //Add normal word
                }

            fwrite(espa, (strlen(espa)), 1, f2); //Here I try to add the space
       }
       fclose(f);  
       fclose(f2);
}

最佳答案

char espa[0];

这是一个包含 个字符的字符数组。您将希望至少存储两个 个字符:空格和终止 NUL 字符。但是,为了让事情变得更容易,您可以让编译器计算数组的大小:

char espa[] = " ";

关于c - 在C中为txt添加一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19593503/

相关文章:

c - 处理 C 只读文件关闭错误

java - 如何将 Hadoop Path 对象转换为 Java File 对象

c - 在 C 中链接 Opencv 库

c - C 中的动态结构

在单独的 C 文件中调用函数

c - 转到文件的开头

c++ - 如何在 C++ 中启用共享打开的文件?

c++ - 从vector <unsigned char>写入PGM文件

c - 可用于 sysfs 读取的最大字节数

c - 释放循环链表