c语言文件读问题fgets() 在线等!!!!!!!!!!!!!!
voidChat_Info_Read(char*U_Ip,char**Chat_Dia_Text){FILE*file_id;intS_F_length1=strlen(...
void Chat_Info_Read(char *U_Ip,char **Chat_Dia_Text)
{
FILE *file_id;
int S_F_length1=strlen(file_head);//file head of length
int S_F_length2=strlen(U_Ip);//U_Ip of length
int S_Length=S_F_length1+S_F_length2;//file’name of size;
char *file_name; //file name
int i=0;
file_name=(char *)malloc(S_Length);
for(;i<S_F_length1;++i)
{
file_name[i]=file_head[i];
}
for(i=S_F_length1;i<S_F_length1+S_F_length2;++i)
{
file_name[i]=U_Ip[i-S_F_length1];
}
file_name[S_Length]='\0';
file_id=fopen(file_name,"r");
if(file_id==NULL)
{
printf("%s open or create failed!\n");
exit(1);
}
while((fgets(*Chat_Dia_Text,255,file_id))!=NULL)//为什么在这儿的时候就通不过了?
{
printf("%s",*Chat_Dia_Text);
}
fclose(file_id);
} 展开
{
FILE *file_id;
int S_F_length1=strlen(file_head);//file head of length
int S_F_length2=strlen(U_Ip);//U_Ip of length
int S_Length=S_F_length1+S_F_length2;//file’name of size;
char *file_name; //file name
int i=0;
file_name=(char *)malloc(S_Length);
for(;i<S_F_length1;++i)
{
file_name[i]=file_head[i];
}
for(i=S_F_length1;i<S_F_length1+S_F_length2;++i)
{
file_name[i]=U_Ip[i-S_F_length1];
}
file_name[S_Length]='\0';
file_id=fopen(file_name,"r");
if(file_id==NULL)
{
printf("%s open or create failed!\n");
exit(1);
}
while((fgets(*Chat_Dia_Text,255,file_id))!=NULL)//为什么在这儿的时候就通不过了?
{
printf("%s",*Chat_Dia_Text);
}
fclose(file_id);
} 展开
1个回答
展开全部
你确定你的*Chat_Dia_Text有分配空间吗。
你函数体外传参应该是有一个char指针如char *p分配了空间再以&p的形式传进你的函数体,或者就在你的函数体内部malloc
如:
#include<iostream>
using namespace std;
void Func(char **p)
{
fgets(*p,100,stdin);
}
int main()
{
char* str = NULL;
str = (char*)malloc(100 * sizeof(char));
Func(&str);
system("pause");
return 0;
}
你函数体外传参应该是有一个char指针如char *p分配了空间再以&p的形式传进你的函数体,或者就在你的函数体内部malloc
如:
#include<iostream>
using namespace std;
void Func(char **p)
{
fgets(*p,100,stdin);
}
int main()
{
char* str = NULL;
str = (char*)malloc(100 * sizeof(char));
Func(&str);
system("pause");
return 0;
}
追问
我已经做出来了 函数没有错误 是我在传参的时候没有传好 不过还是谢谢你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询