首页 > 解决方案 > 如何替换文本文件中一行中的特定数据?

问题描述

所以我是文件处理的新手,似乎我无法将我输入的字符串与文本文件中的字符串进行比较,并尝试修改该行中的某些内容..,我的代码有什么问题...所以我尝试了再次更新它..有人帮助我。

struct phoneuser{
char name[100];
float amount;
char number[20];
} p;

void forpayment(){
struct phoneuser p;
FILE *f;
char pnumber[20];
long int size=sizeof(p);
float amt;
int i;

f=fopen("D:\\renzo\\New folder\\phoneuser.txt","rb+");
system("cls");

cout<<"Enter phone number of the subscriber for payment: ";
cin>>pnumber;

while(fread(&p,sizeof(p),1,f)==1)
{
    if(strcmp(p.number,pnumber)==1){
        cout<<"Phone No.: "<<p.number<<endl;
        cout<<"Name: "<<p.name<<endl;
        cout<<"Current amount: "<<p.amount<<endl;
        cout<<"\n";
        cout<<"\n\nEnter amount of payment :";

        cin>>amt;
        p.amount=p.amount-amt;
        fseek(f,-size,SEEK_CUR);
        fwrite(&p,sizeof(p),1,f);
        break;
    }   
}
system("cls");
cout<<"THANK YOU FOR YOUR TIMELY PAYMENTS "<<p.name;
system("pause");

}

标签: c++

解决方案


推荐阅读