关于在C语言中将结果输出到txt文件中的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:39:14
举个简单的例子……
#include<stdio.h>
#include"iostream"
using namespace std;

void print(void);

void main()
{
FILE *p;
p=fopen("outing.txt","w");
print();
}

void print(void)
{
fprintf(p,"Hjhdsjk");
}
像上面的一个简单的例子,为什么编译时候会出错呢?
如果改成这样就对了
#include<stdio.h>
#include"iostream"
using namespace std;

//void print(void);

void main()
{
FILE *p;
p=fopen("outing.txt","w");
//print();
fprintf(p,"Hjhdsjk");
}

//void print(void)
//{
// fprintf(p,"Hjhdsjk");
//}
(注:注释掉被调用函数部分。我在C++环境下编译的)
难道写到文件里代码的只能是在主函数里面写?
当初学C时候老师没有仔细讲,看了许多例子才知道如何文件操作,自己试的时候又遇到了这样的疑问了!!!
高手帮忙解答一下喽!!

第一个程序的print函数里面的p未定义,可以把main函数里面的FILE *p当参数传递到print就好了
最后要close一下
下面是改好的程序:
#include<stdio.h>
#include"iostream"
using namespace std;

void print(FILE *p);

void main()
{
FILE *p;
p=fopen("outing.txt","w");
print(p);
fclose(p);
}

void print(FILE *p)
{
fprintf(p,"Hjhdsjk");
}

你第一个例子里由于
void print(void)
函数中p这个文件指针并没有被定义
你改成void print(FILE *p)
调用的时候写成print(p)就ok了