用Visual C++6.0,编写一个小程序,实现的功能是:能够读取一个*.txt文件,然后一次而列出里面得内容

内容里面包含:数字,汉字,字母

对于大概的实现操作知道,写的代码总是出错,总觉得太想当然,思维混乱了
具体细节处理我就不是特别清楚

麻烦看到的你能先讲解下你的思路,然后附上正确的能编译执行的代码:

感谢!!!

思跑一行一行的获取文件里的数据。不管数据具体内容是什么,只有是文本,用string就能正确的保存内容。
你自己在D盘上建一个名为test.txt的测试文件
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main ()
{
string str;
fstream fil("D:\\test.txt");
if(!fil){cout <<"文件打开出错"<<endl;
return 0;
}
while(getline(fil,str),fil){
cout <<str<<endl;
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-25
以下是文件名和文件内容:
data.txt输入文件
-----------------------
8
zhangSan 23 beijing
lisi 123 shanghai
mawu 56 liaoning22
zhao3LIU 12 guangxi
huangqi 30 jiangxi
wangba -32 hu2nan
haijiu 43 yunnan
haoshi 21 xinjiang
------------------------

err.txt输出文件,运行之后会显示如下内容
------------------------
lisi 123 shanghai
mawu 56 liaoning22
zhao3LIU 12 guangxi
wangba -32 hu2nan

*/

#include<iostream>
#include<fstream>
#include<strstream>
#include<string>
#include<vector>
using namespace std;
typedef struct
{
string name;
int age;
string add;
void out()
}student;
int main()
{
ifstream infile("data.txt",ios::in);
vector<int>err;
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
string s;
int n,i=0,flag=0;
//student st[8];
infile>>n;
student *st=new student[n];
while(n--)
{
//getline(infile,s);
flag=0;
infile>>st[i].name>>st[i].age>>st[i].add;
//infile>>st[i].age;
//infile>>st[i].add;
string::size_type j;
string c;
for(j=0;j<st[i].name.size();j++)
if(!isalpha(st[i].name[j]))
{
flag=1;
break;
}
if(flag==0)
{
if(st[i].age>120||st[i].age<0)
flag=1;
}
if(flag==0)
{
for(j=0;j<st[i].add.size();j++)
if(!isalpha(st[i].add[j]))
{
flag=1;
break;
}
}
if(flag==1)err.push_back(i);
i++;
}

infile.close();
ofstream outfile("err.txt");
if(!outfile)
{
cerr<<"open err.txt error!"<<endl;
exit(1);
}
vector<int>::size_type ei;
for(ei=0;ei<err.size();ei++)
outfile<<st[err[ei]].name<<" "<<st[err[ei]].age<<" "<<st[err[ei]].add<<endl;
outfile.close();
delete [] st;
return 0;
}

用Visual C++6.0,编写一个小程序,实现的功能是:能够读取一个*.txt文件...
思跑一行一行的获取文件里的数据。不管数据具体内容是什么,只有是文本,用string就能正确的保存内容。你自己在D盘上建一个名为test.txt的测试文件 include<iostream> include<string> include<fstream> using namespace std;int main (){ string str;fstream fil("D:\\\\test.txt");if(!fil){cout <...

用C\/C++写一个小程序读取串口接收到的数据
你太幸运了,刚好我有一个,你在vc++6.0下测试一下。\/* serrecv.c *\/ \/* Receives and saves a file over a serial port *\/ \/* Last modified: Septemeber 21, 2005 *\/ \/* http:\/\/www.gomorgan89.com *\/ include <windows.h> include <stdio.h> include <stdlib.h> \/* Function...

怎样用Microsoft visual c++把c源代码编译成exe 可执行文件_百度...
按ctrl+f5可以编译成成品 第一步:打开VC++6.0;第二步:选择“文件”-》“新建”-》“工作区”-》“空白工作区”,然后为这个工作区起一个名字并选择存放路径,确定即可!之所以要用工作区,因为可以在工作区中新建很多工程,每个工程可以独立编译、连接、执行,互补干扰,而在学习C语言过程中,...

如何用V C++6.0做个小程序,就是怎么新建啊?
新建->project(工程)选项卡-〉win32 Application 然后向里面添加源文件、头文件就可以了。

用visual c++6.0编译时出现Compiling... Error spawning cl.exe m...
如果是新手,请检查基本的头文件,程序环境(VC++6.0倒是不用其他的环境),这些都有可能造成编译错误。你说的简单的小程序,应该不会只是main函数部分的代码吧?最好是能够从别人那里考一个能直接运行的cpp文件,然后用你的VC编译试试能不能行。如果不行,试试安装其他版本的VC++ 6.0,因为都是...

如何在电脑编写一个小程序,输出字符串
在电脑编写一个小程序,输出字符串,就找相应的软件开发工具。例如:在这里我们借助的软件是Visual C++6、0。打开软件,先新建一个工程,在新建一个C++源文件,这些你听起来可能有点陌生,不要担心,你只需要按照下面操作就好。在建好文件之后,在源文件处,输入下列代码#includeusing namespace std;...

刚学C语言的菜鸟,运行Visual C++6.0,遇到的小问题,求指教
书是错的,要看编译的结果,在C文件路径下的debug文件夹里面有一同名exe文件,就是编译连接出来的可执行文件

使用visual c++6.0编写每一个c程序是都必须新建工程吗
不需要,你单独建一个cpp文件就行了,可以编C也可以编C++,如果你是做工程那就建工程,如果是做编程练习语言的使用,建不建工程都行,图简单就不建。VC6可以不建工程,新版的VS2010之类的,就必须建了。

紧急求助 编写一个对txt文件读取的小程序
C.TXT) DO (SET "_FOO=%%~I"IF NOT DEFINED !_FOO! (SET !_FOO!=STR ) ELSE (SET !_FOO!=_FOO))FOR \/F "TOKENS=*" %%A IN (C.TXT) DO (SET "_VAR=%%~NA"SET _VAR=!_VAR:~,4!IF DEFINED !_VAR! ECHO %%~NA>>!_VAR!.TXT )EXIT 效率不算高,自己先测试一下吧。

c语言运行输出汉字,出现乱码,用的visual 6.0c++
每次读取固定长度的字符串,然后以字符串的形式输出,就没有问题了,修改如下:只需要对while循环进行下修改就好了 char data[100] = "";while(!feof(fp))\/\/判断是否到文件尾了 { fflush(stdin);\/\/putchar(ch);\/\/ch=fgetc(fp);fgets(data, 99, fp);\/\/读取99个字符,最后一个字符用来放'\\...

相似回答