fstream outfileadf("mnk43play.adf",ios::out|ios::in);
char buffer[80];
int aa=1;
char buf[80]="object build {"; memset(buffer ,0 ,80); if (!outfileadf.fail())
{
while(outfileadf)
{
outfileadf.getline(buffer,sizeof(buffer));
if (!strcmp(buffer,buf))
{
int pos=outfileadf.tellg(); outfileadf.seekg(0,ios::beg);
outfileadf.seekg(pos);
char sss[]="83117428";
outfileadf<<sss<<endl;
}
memset(buffer ,0 ,80);
}
outfileadf.close();
}
代码是这个样子的,现在问题是会不停的往文档里面写。感觉像是复制了整个文档的内容。
if (!strcmp(buffer,buf)){}
会一直进入。
去掉
outfileadf<<sss<<endl;
这句话后正常。但是就没法写了。这断代码应该怎么写啊。。谢谢大家了。
char buffer[80];
int aa=1;
char buf[80]="object build {"; memset(buffer ,0 ,80); if (!outfileadf.fail())
{
while(outfileadf)
{
outfileadf.getline(buffer,sizeof(buffer));
if (!strcmp(buffer,buf))
{
int pos=outfileadf.tellg(); outfileadf.seekg(0,ios::beg);
outfileadf.seekg(pos);
char sss[]="83117428";
outfileadf<<sss<<endl;
}
memset(buffer ,0 ,80);
}
outfileadf.close();
}
代码是这个样子的,现在问题是会不停的往文档里面写。感觉像是复制了整个文档的内容。
if (!strcmp(buffer,buf)){}
会一直进入。
去掉
outfileadf<<sss<<endl;
这句话后正常。但是就没法写了。这断代码应该怎么写啊。。谢谢大家了。
加一个break; ok了~~~
if (!strcmp(buffer,buf))
这个作比较有什么用?
他们两个一直不相等 一个是空 另外一个有字符!
outfileadf.getline(buffer,sizeof(buffer));
char buf[80]="object build {";
^_^ 惭愧 惭愧 问了老大才搞定的。