在C中为txt添加空格

Lui*_*.G. 0 c file-io

我正在从复数中清除一个txt,并用fscanf逐字逐句读取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);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*oni 6

char espa[0];
Run Code Online (Sandbox Code Playgroud)

这是一个字符的字符数组.您将需要至少存储两个字符:空格和终止NUL字符.但是,为了让您更轻松,您可以让编译器计算数组的大小:

char espa[] = " ";
Run Code Online (Sandbox Code Playgroud)