C++ 结构体指针参数如何赋值?
结构体:typedefstructtagTData{charA[32];charB[32];charC[32];charD[32];}TData;文件1.txt内容aaa...
结构体:
typedef struct tagTData{
char A[32];
char B[32];
char C[32];
char D[32];
}TData;
文件1.txt内容
aaaaa
bbbbb
ccccc
ddddd
int ReadMsg(TData *pTData)
{
int result=0;
try
{
ifstream inf;
inf.open("1.txt", ifstream::in);
string line[100];
int i = 0;
while (!inf.eof())
{
getline(inf,line[i],'\n'); //读取一行,以换行符结束,存入 line[] 中
i++;
}
inf.close();
//在这里如何为参数赋值
pTData[0].A= ?????
}
catch(...)
{
result=-16;
}
return result;
}
我是C++菜鸟,请问我这样读文本文件是否正确? 读取来的数据如何赋值给结构体参数? 展开
typedef struct tagTData{
char A[32];
char B[32];
char C[32];
char D[32];
}TData;
文件1.txt内容
aaaaa
bbbbb
ccccc
ddddd
int ReadMsg(TData *pTData)
{
int result=0;
try
{
ifstream inf;
inf.open("1.txt", ifstream::in);
string line[100];
int i = 0;
while (!inf.eof())
{
getline(inf,line[i],'\n'); //读取一行,以换行符结束,存入 line[] 中
i++;
}
inf.close();
//在这里如何为参数赋值
pTData[0].A= ?????
}
catch(...)
{
result=-16;
}
return result;
}
我是C++菜鸟,请问我这样读文本文件是否正确? 读取来的数据如何赋值给结构体参数? 展开
1个回答
展开全部
char strLine[256];
ifstream inf;
inf.open("1.txt", ios_base::in); // 打开文件
inf.getline(strLine, 256); // 读一行数据
TData data;
strcpy(data.A, strLine); // 读入的数据复制到结构体中的某个字符串数组中
更多追问追答
追问
ifstream::in 与 ios_base::in 有什么区别?
结构体要重新定义一个,不用传进来的参数吗?
还有文件中有多行数据 如何读到结尾呢?
追答
两个in没区别。
结构体在哪里定义可以由你自己定,这里只是一个示例
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询