漩涡鸣人 发表于 2014-9-29 15:57:59

C标准库之输入输出函数——fopen

功能:fopen函数用于打开文件
函数原型:FILE * fopen(const char * filename, const char * mode);
参数:
参数说明
filename文件名
mode文件打开方式

常用文件打开方式:
打开方式描述
r只读方式打开。若文件不存在,发生错误
w只写方式打开。若文件不存在,创建文件
a以追加方式打开文件
r+以读写方式打开文件。若文件不存在,发生错误
w+以读写方式打开文件。若文件不存在,创建文件

返回值:文件指针
要求:
函数需要的头文件
fopen<stdio.h>

举例:#include <stdio.h>

int main(void)
{
    FILE * fp = NULL;
    char fname;//用于存放文件名

    printf("输入要创建的文件名:");
    scanf("%s", fname);

    fp = fopen(fname, "w+");//读写方式创建文件
    if(NULL == fp)//如果失败了
    {
      printf("错误!");
      return 0;
    }
    printf("创建成功\n");
    fclose(fp);//关闭文件
    return 0;
}
运行效果:

大个的糖果 发表于 2014-11-1 05:47:53

不知道叫什么 发表于 2014-11-2 13:52:36

请教一下,要是用fopen函数读入一个提前写好的txt文件,是不是一个字符一个字符读的?要是不是的话是怎么读的?

漩涡鸣人 发表于 2014-11-2 13:58:34

不知道叫什么 发表于 2014-11-2 13:52
请教一下,要是用fopen函数读入一个提前写好的txt文件,是不是一个字符一个字符读的?要是不是的话是怎么读 ...

那得看您的txt内容,是以什么格式写的了
例如:
每一行按照格式写成txt文件
就可以循环用fscanf以某种格式读取
示范:
while(EOF != fscanf("%d %s %d %d", &ID, user, &pass, &score))
{
    处理
}

不知道叫什么 发表于 2014-11-2 15:23:39

C:\Users\wdocomunt\Desktop
求大神指教这个程序。这里执行到if(fp==NULL)就跳到if语句里执行输出错误了。HelloWorld和这个程序放在同一个文件夹里。不知道哪里有问题,求指教[\br]

漩涡鸣人 发表于 2014-11-2 20:03:19

不知道叫什么 发表于 2014-11-2 15:23
求大神指教这个程序。这里执行到if(fp==NULL)就跳到if语句里执行输出错误了。HelloWorld和这个程序放在同 ...

您用VC6运行程序的话,就要把HelloWorld.txt放在工程文件同目录下,不是在debug目录下

tlwangxd 发表于 2014-11-3 09:22:44

学习

Hugo101 发表于 2015-5-1 19:43:26

学习文件的必备啊~~~~~~~~祝鱼C工作室越来越好!
页: [1]
查看完整版本: C标准库之输入输出函数——fopen