如何创建一个用于c的文件?

时间:2013-08-19 12:46:35

标签: c file

我有一个程序:

#include <stdio.h>
#include <string.h>
// ne menuvaj ovde
void wtf() {
    FILE *f = fopen("text.txt", "w");
    char c;
    while((c = getchar()) != EOF) {
        fputc(c, f);
    }
    fclose(f);
}
int main() {
    wtf();
    FILE *vlezna;
    vlezna=fopen("text.txt","r");

    float words=0,lines=0,average=0;
    int counter=0;
    char ch;
    while((ch=fgetc(vlezna))!=EOF)
    {
        if(ch==' ')
            words++;
        if(ch=='\n');
        {
            words++;lines++;
        }
    }
    average=words/lines;
    printf("%f",average);
    fclose(vlezna);
    vlezna=fopen("text.txt","r");
    while((ch=fgetc(vlezna))!=EOF)
    {   words=0;
        if(ch==' ')
            words++;
            if(ch=='\n')
            {
                words++;
                if(words<average) counter++;
            }
    }
    fclose(vlezna);
    printf("%d",counter);
}

所以我假设第一个函数写入文件。但我想首先应该创建文件,我不知道如何(除了右键单击新文本文档)。 另外我不知道如何在文件的开头返回指针,所以我关闭它并再次打开它,假设那将在开头返回指针?

2 个答案:

答案 0 :(得分:2)

如果选项为fopen

"w"如果该文件不存在,则创建该文件 请阅读此处的文档:http://www.cplusplus.com/reference/cstdio/fopen/

答案 1 :(得分:1)

无需创建。对于fopen的手册页:

``w''   Truncate to zero length or create text file for writing.  The stream is positioned at the
        beginning of the file.

要设置文件指针,请使用fseek。但是,要阅读,您需要使用不同的开放标记。