|
1鱼币
:cry之前我问过同样的问题,但回答里面的好多我没看过。希望这次能用点通俗简单的语句
比如我txt里面有
123 语文
456
789 英语
当我输入456时,先匹配到456 是存在的
然后我想让文本指针指向到456 后面
然后在一个命名的函数里给456添加科目
结果成 456 数学
?怎么才能把文本指针指向到456后面而不会指向到其他位置?
求教~
本人刚学不久很多不会。
就是根据自己输入的数字,然后指针指到该数字的后面
----------------------------------------------------------------下面是代码------------------------------------------------------
#include<iostream>
#include <fstream>
#include <string>
#include <string.h>
#define N 3
using namespace std;
typedef struct STU
{
int num;
string subject;
}STU;
void main()
{
//在文件中写入学号和科目
string number;
string name;
ofstream outstuf ;
outstuf.open( "test.txt" , ios::app|ios::binary ) ;
if ( !outstuf )
{ cerr << "文件不存在" << endl ; abort(); }
cin>>number;
number=number+" ";
outstuf.seekp(0,ios::end); //多这名,文件指针移到尾
outstuf<<number.c_str();
//判断学号是否存在
STU stu[N];
for(int a=0;a<n;a++)
in>>stu[a].num>>stu[a].subject;
for(int i=0;a<n;i++)
if(number == stu[i].num)
{cin>>name;outstuf<<name.c_str()<<"\r\n";}
outstuf.close();
这样做不行啊;能匹配到456存在,但是在写入科目的时候,它不是写在456的后面,而是最后一行。
比如:我txt里是:123 语文 123 语文
456 结果: 456
789 英语 789 英语
数学
----------------------------------------------------------------------------------------------
怎么解决。我新手。
能在原代码改下最好了。
千万别for (i=0;i<3;i++) if (s2[i].id==456) { strcpy(s2[i].name,"LiSi"); k=i; break;};
因为我输入的数字是随机的,我希望能输入数字后能匹配到数字存在,然后在把指
针指向数字后面,方便在数字后面添加科目。不是仅仅在456后面。也可能是其他的数字
|
|