读书人

用fopen打开一个结构体指向的字符串

发布时间: 2013-11-21 23:38:25 作者: rapoo

用fopen打开一个结构体指向的字符串,出现错误:参数无效
typedef struct Inf
{
char *szName;
long long llStart;
long long llEnd;
typedef struct *pNext;
} Inf;

.....

//结构体中存放的数据是
Inf *p;
p->szName = strdup(Name);
p->llStart = 100;
p->llEnd = 1000;
p->pNext = NULL

......

FILE *pTemp;
Inf *i;

pTemp = fopen (i->szName, "r");
fprintf(stderr, "%s \n", strerror(errno));

.......

输出的是:参数无效,其指针地址为NULL
[解决办法]
i未初始化直接拿来用,肯定不行,搞不好程序直接退出了。
[解决办法]

引用:
其中i并不是被分配空间,而是被另一个结构给赋值的指针

那也可以的!

注意widows下路径 要用\\
例如

FILE * pf = fopen("D:\\test.txt", "r");

读书人网 >C语言

热点推荐