请问各位,如何用用memset清空结构体和用memcpy将读取到的数据拷贝给结构体里面的buff。

代码如下:
#include "stdafx.h"
#include <fstream> //定义ifstream需要
#include <string> //用一个string来保存从文件中读出的内容
#include <iostream> //cin(),cout(),getchar()需要的头文件
using namespace std;

void main() //程序从这里开始
{
ifstream OpenFile("E:\\test1.txt"); //输入文件流
char ch;

if(!OpenFile) //文件读取判断
{
cout << "打开文件失败,按回车结束";
getchar();
exit(0);
}
OpenFile.get(ch);

while(!OpenFile.eof())//判断是否到文件结尾,直到读到文件结尾结束
{
OpenFile.get(ch);
cout << ch;
}
OpenFile.close();
system("pause");//打印显示的结果
}

第1个回答  2011-09-22
例如
char a[] = {}
memset(a,0,sizeof(a));//清空

string a="aaa";
string b;
memcpy(b,a,strlen(a));
第2个回答  推荐于2016-10-29
memset( &StructObj,0,sizeof(StructType));

memcpy(dstbuf,srcbuf,size);追问

那再请问下:
是不是先要头文件写入
struct buffer
{
char buff[100];
int len;
}
然后再在
while(!OpenFile.eof()) {
OpenFile.get(ch);
cout << ch;
}
memset(&sr,0,10);
memcpy(&sr,ab,strlen(ab));
OpenFile.close();
system("pause");//打印显示的结果
}

然后再把

追答

我想你要表达的意思如下吧:
memset(&sr,0,sizeof(sr)) ; //将sr的所有成员置为 "0"
memcpy(&sr.buff,ab,strlen(ab));
sr.len = strlen(ab);

追问

是的!我主要是想要运用到结构体。使用memset清空结构体并用memcpy将读取到的数据拷贝给结构体里面的buff里面去!

追答

我上面给你的就是啦

追问

好的!我去运行下!谢了呀!

本回答被提问者采纳
相似回答