文件指针未定义的错误
问题描述:
我有一个文件a.c
,a.h
,它用作其他文件中功能的支持模块。文件指针未定义的错误
在这些函数中,我必须打开一个文件并执行读取数据,写入数据,关闭它等功能。
出于这些目的,我把文件指针的全局声明中a.c
通过
static FILE* pFile;
,并直接使用pFile
。
编译器被扔错误的错误是这样的:
"pFile" not defined in the function
有什么不对吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <arpa/inet.h>
#define path "/tmp/diag.log"
FILE* pFile;
void a(bool value) {
if (value) {
pFile = fopen (path,"a");
return;
}
else if (!value) {
fclose (pFile);
}
}
void b(bool value) {
if(value)
{
fprintf (pFile,"%s",message);
}
}
更新: 错误是我的makefile从build目录中取文件和变化没有得到reflected.Thanks很多关于你的帮助
你明白的需求和影响静态存储类? –
hehe ...这是一个错误..在这 – Ram
帮助我请[请阅读如何问好问题](http://stackoverflow.com/help/how-to-ask)。然后编辑您的问题以包含[最小,完整和可验证示例](http://stackoverflow.com/help/mcve),以及实际的错误消息(完整,完整且无需修改)作为文本。 –