我有一个结构体想把它写到文件中去,有不有办法直接把这个结构体转换成字符串(我想只有字符串类型才能写到文件吧),谢谢.
解决方案 »
- 请教 在MFC中, SetWindowsHookEx的用法?
- 请教 用 CloseHandle关闭串口的问题
- loadlibrary后,调用DLL中函数执行数据库校验,校验时间若短,dll可以free,若长,程序在freelibrary处阻塞了!!!
- DIRECTPLAY 有人用过吗〉有些问题, 多少分都给!!
- Windows Shell 编程问题
- VC做的程序启动有问题,怎么办?
- 怎么办??
- 【基础问题,这是为什么啊?】
- +++++++++学习VC,就一定要学好C++吗?请大虾推荐一二本 Visual C++的入门好书。++++++++++++
- 我该用什么编程?
- 自定义CallBack函数,调用者立即返回
- CListCtrl::InsertGroup()函数的问题,晕了
比如
struct Node{
int nCout;
char szStr[16]
};Node node;
memset(&node, 0, sizeof(Node));
node.nCount = 1;
strcpy(node.szStr, "str");char *pszStr = (char *) &node;
// 如果想再转换过来......
Node *node1 = (Node *)pszStr;
TRACE("%d; %s;\n", node1->nCount, node1->szStr);
int nCout;
char szStr[16];
void Write2File(FILE * fp)
{
fprintf( stream, "%d %s", nCout, szStr );
}
};
不过要注意格式,不能乱了,也就是最基本的printf和scanf格式!
我用的正好就是1字节对齐,正是太好了.struct MyStruct
{
long ID;
TCHAR szName[20];
};
我还想问一下,我存在文件中的是结构数组,比如说数组大小为100个
我修改或读取第30个的szName,
移动指针的方法是不是先移到第30个,cfile.Seek(sizeof(struct MyStruct)*30, CFile::begin );
然后再移到szName,cfile.Seek(sizeof(long), CFile::current);
然后就是修改了,该怎么修改呢,CFile好像没有这样的方法(不是先删除再增加吧)谢谢