如何将数据存入到一个结构体中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据存入到一个结构体中相关的知识,希望对你有一定的参考价值。

参考技术A #include <stdio.h>

typedef struct abc

int num;
char ch[20];
abc;

int main()

abc a[500];
FILE *fp;
int i=0,j=0;
int t=0;
char c=0;
fp=fopen("c://test.txt","r"); // 根据实际情况修改
if(fp==NULL)
return -1;

c=fgetc(fp);
for(i=0; i<500; i++)
t=0;
while(c!='#')
t=t*10+(c-0x30);
c=fgetc(fp);

a[i].num = t;
j=0;
c=fgetc(fp);
while(!((c<=0x39)&&(c>=0x30))&&!feof(fp))
a[i].ch[j++] = c;
c=fgetc(fp);

a[i].ch[j++] = '\0';
printf("%s",a[i].ch);

fclose(fp);
return 0;

C语言 如何读取xml文件中的数据并存入一个结构体中

xml文件中有以下数据:
<AccountList>
<account>123456,mjfgfk,Arshinz,0,3212006,Female,Dongguan,0</account>
<account>931230,nhfghe,Susan,0,031535,Female,Shenzhen,0</account>
</AccountList>

存入以下结构体中:
struct Account

char accountNum[7];
char password[7];
char name[15];
long balance;
char ID[20];
char sex[8];
char address[20];
int Num;
account[10];

参考技术A 一般是用第三方比如TinyXml,或者你自己实现。 参考技术B 利用com、
用xml的dll就可以了,不多说了,具体再不懂再问我把。
我工作也有解析xml文件的 呵呵追问

完全不懂Orz。。没接触过xml 但是课设要用=A=

追答

#include
#ifdef UNDER_CE
#include "Msxml.h"
#else
#import "msxml3.dll" named_guids, raw_interfaces_only, raw_native_types
using namespace MSXML2;
#endif
void main()

CoInitialize(NULL); // 初始化COM。
CComPtr spXMLDOM;
HRESULT hr=spXMLDOM.CoCreateInstance (_uuidof(DOMDocument));
// 创建解析器实例。
VARIANT_BOOL bSuccess=false;
hr=spXMLDOM->load(CComVariant(L"xmlfile.xml"),&bSuccess);
// 装载XML文档。
CComBSTR bstrSS(L"Device");
CComPtr spDevice;
hr=spXMLDOM->selectSingleNode(bstrSS,&spDevice); //搜索"Device"。
CComQIPtr spDev;
spDev=spDevice;
// 设置"Device"的"name"属性。
hr= spDev->setAttribute(CComBSTR(L"name"),CComVariant("测试设备"));
CComPtr spModelNode;
hr=spXMLDOM->createNode(CComVariant(NODE_ELEMENT),CComBSTR("Model"),NULL,& spModelNode); // 创建"Model"节点。

CComPtr spInsertedNode;

hr=spDevice->appendChild (spModelNode,&spInsertedNode);
// 添加新节点到"Device"节点下面。
CComBSTR strID(L"3");
hr=spInsertedNode->put_text(strID);// 设置"Model"的文本。
hr=spXMLDOM->save(CComVariant("xmlfile.xml")); //保存文档。

// CoUninitialize(); // 结束对COM的使用。

return;


以上是code。
msxml3.dll是windows自带的dll,可以在c盘中找到。

还有就是你的xml文件做得不够好,你可以把xml作成这样的:

***
***
***
***
........

这样xml文件的结构才够清晰,通俗易懂,添数据的时候也可以理解每个TAG里的内容是什么意思。

以上如果还有问题,请继续追问。

本回答被提问者采纳

以上是关于如何将数据存入到一个结构体中的主要内容,如果未能解决你的问题,请参考以下文章

Qt怎么把一个字符串存入结构体

C语言,请问如何将结构体中的结构体拷贝到内存

C语言,请问如何将结构体中的结构体拷贝到内存

怎么把一个结构体中的数据复制到另一个相同类型的结构体数组中

MATLAB如何提取结构体中数据

c语言中如何将按结构体中的某个元素大小,将结构体排序输出