TXT文件如下
您的订票信息:
订单号:20111103013521
出行日期: as
...
...
电话号: asd
您的订票信息:
订单号:20111103013522
...
电话号: asd
您的订票信息:
...
用订单号做索引,删除一个订票信息:我的代码只能删除一行订单号,不能删除多行~
这里只能贴一部分代码
CStdioFile file;
char* pFileName="订票信息.txt";
CString str;
CStringArray strarray;
CString strLine;
CString key="订单号:"+m_TicketNum;
int nCount=strarray.GetSize();
while(file.ReadString(strLine))
{
strarray.Add(strLine);
}
file.Close();
for(int i=0; i <nCount; i++)
{
str = strarray[i];
if( str.Find(key) != -1)
{
// strarray.RemoveAt(i-1);这里报错了
strarray.RemoveAt(i);
//strarray.RemoveAt(i+1);
...
nCount--;
i--;
}
}
嗯,我就是按照那么想的,str.Find(key)是其中一行的数据 返回的是key在这行字符串的位置,我只需要判断一下这行是不是我要找的就可以了~删除的话用CStringArray,RemoveAt(i-1)这个不行啊,现在按LS那位仁兄实现了删除后几行及本行 但是删不了上面的。。。
追答用Find找到要删的数据的订单号是第x行,每个订票信息是y行的话,那么从x+y-2行开始往前删到x-1行,不行么?
这么改的
if(str.Find(key) != -1)
{
for(int j=6;j>0;j--)//N为需要删除的行数
{
if( (strarray.GetAt( i+j )) != "" )//判断是否空这么写好像不管用。。
strarray.RemoveAt(i+j);
}
strarray.RemoveAt(i);//这里是删本行貌似上面删不了
nCount--;
i--;
break;//跳出循环
}
大哥~要不然我给你发程序过去帮我看一下好吗真谢谢你
mfc中怎么清空txt文件中的里面内容 ,以及怎么把每次循环运行得到的数据...
vector<string> a; \/\/建一个vector对象string b; \/\/用于循环存储.循环得到的数据a.push_back(b); \/\/把数据压入vector对象尾ofstream out_file("a.txt",ios_base::out); \/\/C++文件流对象建立a.txt并用于输出for(int i=0;i<a.size();i++ out_file<<a[i]<<endl; \/...
MFC,怎样读取TXT文本 指定的一行,然后修改或者覆盖跟删除!求代码 例如t...
FILE * file = fopen("1.txt","wr");\/\/读取txt文件 while(!feof(file)){ fscanf(file,"%s",data);\/\/这句就能实现你所需要的,读取一行数据,存入data中 if(strcmp(data,num)==0)\/\/判断是否属于那一行,然后里面加上删除或替换操作即可 { } } fclose(file);\/\/大概思路就是上面的,可能...
MFC中如何修改txt文本中指定行的内容
一个简单的办法,如我现在的项目中,txt存储信息,如你的id是唯一的,且在txt中是按id升序或者降序排列的,这样通过二分查找算法,就跟容易找到查找id所在的行,然后seek偏移量到行指定位置,覆盖指定长度的内容就ok
如何用MFC实现修改保存在txt文件中的内容
按行读取每一行数据到缓存中. fopen fread 读取内容可保存成字符串数组.根据编辑框中内容, 修改缓存中的数据. (数组的访问)修改完成后写回文件中. fwrite
怎样才能让MFC程序一运行就把txt文件中的数据导入到列表控件中
在初始化函数里面打开文本文件,读进文件内容.当作一个字符串来对待进行数据分割,写进列表控件.
mfc保存到txt换行
mfc保存到txt换行步骤如下。1、打开文件,使用记事本打开。2、在文件末尾添加一行文字,如mfc保存到txt换行。3、选择文件,然后选择另存为,在文件类型中选择文本文件txt,然后点击保存即可。
MFC中 txt文件中有多行三列数据,怎么存入不同数组,第一行和第二行数据...
FILE *fp;int a,b,i;double x[100],y[100],z[100]; if((fp=fopen("test.txt","r"))==NULL) { AfxMessageBox(_T("打开失败")); } else {fscanf(fp,"%d",&a);fscanf(fp,"%d",&b);i=0; while(0==feof(fp)) {fscanf(fp,"%lf",&x[i]);fscan...
MFC中如何读取.txt文件中的数组
这么规律的数据就很容易处理了。先readline读一行数据,第一行舍弃。往后每次读一行,然后用字符分割函数,分割成两个字符串再转换一下就行了。你可以选择用for,也可以用while,判断为#就退出。以下是我从网页源码中提取背景音乐地址的代码,你可以看看 bool CMyWinInet_1Dlg::findstring(CString str){ ...
MFC中读取TXT文件中的数据和行列数
既然有1位数的数据也有4位数的数据,那么如果txt中没有特意的回车,行数和列数不可能确定。如果有回车的话,简单,用 include <string.h> char *strtok( char *str1, const char *str2 );就能解决。先用getline()一行读出一个str,并累加行数,然后 char *result = NULL;char string[100][...
VC++如何删除TXT文件的某行内容
类的Find函数查找文本文件的所有行的起始和末尾位置索引,接着调用CString 类的Find函数查找要删除字符串的起始和位置索引,依据前面各行的位置索引区间,就可以找到删除字符串所在行的起始和末尾位置索引。然后利用CString 类的mid函数截取出要保留的字符,再组成一个新的字符串写回文件就可以了。