VCMFC获得一个文本文件的行数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VCMFC获得一个文本文件的行数
VC MFC获得一个文本文件的行数
2010-03-06 22:55
#include "afx.h"
#include "string"
#include "fstream"
#include <iostream>
using namespace std;
int main()
{
float a[2000];
int i=0,line_num;
fstream file;
file.open(_T("text1.txt"),ios::in);
if (!file)
{
cout<<"cannot open\n";
return 0;
}
string str;
while(getline(file,str))
{
file>>a[i];
i++;
}
line_num=i+1;
file.close();
cout<<line_num<<endl;
for (int j=0;j<line_num;j++)
{
cout<<"a["<<j<<"]="<<a[j]<<endl;
}
return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int main(void)
{
char txtname[50];
char getCh;
const char BR = char(10); //换行等价于 '\n' unsigned short l = 0;
cout<<"请输入你要察看的文件名(全称):";
cin>>txtname;
fstream myin(txtname, ios::in | ios::binary);
if(NULL == myin)
{
cout<<"打开文件错误或没有该文件,退出。

"<<BR;
exit(1);
}
while(myin.get(getCh))
{
if(BR == getCh) l++;
}
myin.close();
cout<<"文件 "<<txtname<<" 有 "<<l<<" 行。

"<<endl; return0;
}
#include "afx.h"
#include "string"
#include "fstream"
using namespace std;
ifstream outfile;
outfile.open(_T("WestPosition.txt"),ios::in);
string s;
int linenum=0;
if (outfile)
{
while (outfile.getline((char *)s.c_str(),16))
{
linenum++;
}
outfile.close();
CString cstr;
cstr.Format(_T("行数为%d"),linenum);
MessageBox(cstr);
}
else
{
MessageBox(_T("open failed!"));
}
读取一行文本到rString,遇到回车换行符停止读取CStdioFile::ReadString(LPTSTR lpsz, UINT nMax);
读取一行文本到缓冲区,遇到“0x0D,0x0A”时停止读取,并且
去掉硬回车“0x0D”,保留换行符“0x0A”,在字符串末尾添加“\0”(0x00)。

nMax个字符里包含0x00这个字符。

分析如下:1)如果nMax <= 字符数,读取(nMax-1)个字符 + 0x00
2)如果nMax = 字符数 + 1,读取nMax个字符 + 0x00
3)如果nMax > 字符数,读取nMax个字符 + 0x0A + 0x00
CStdioFile::ReadString(CString &rString);(重载)
读取一行文本到rString,遇到回车换行符停止读取。

回车和换行符不读到rString,而且末尾也没有添加“\0”。

相关文档
最新文档