注册 登录
编程论坛 C++教室

这个程序哪里有错啊

jjg 发布于 2010-06-01 22:39, 670 次点击
#include <iostream>
#include <fstream>
#include <string>

#include <list>
using namespace std;
main()
{
    ofstream fileone("file.txt");
    string a("file.txt");
    fileone<<"huanyinglaijinda"<<endl;
    ifstream infile(a.c_str());
    list<string>lst;
    string s;
    while(infile>>s)
        lst.push_back(s);
    infile.close();
    lst.sort();
    list<string>::iterator ilst;
    while(!ilst->end())
    {
        cout<<*ilst;
    }
}

我对文件的操作和STL都不熟悉,大家指点一下
7 回复
#2
Isilendil2010-06-02 00:35
#include <iostream>
#include <fstream>
#include <string>

#include <list>
using namespace std;
int main()
{
    ofstream fileone("file.txt");
    string a("file.txt");
    fileone<<"huanyinglaijinda"<<endl;
    ifstream infile(a.c_str());
    list<string>lst;
    string s;
    while(infile>>s)
        lst.push_back(s);
    infile.close();
    lst.sort();
    list<string>::iterator ilst = lst.begin();
    while(ilst != lst.end())
    {
        cout<<*ilst;
        ++ ilst;
    }
    return 0;
}

能跑了,但是不知道这段程序是要干什么,list里只有一个string,却还要排序,遍历输出
#3
lijm19892010-06-02 10:19
程序代码:
#include <iostream>
#include <fstream>
#include <string>

#include <list>
using namespace std;
int main()
{
    ofstream fileone("file.txt");
    string a("file.txt");
    fileone<<"huan ying lai jin da"<<endl;
    ifstream infile(a.c_str());
    list<string>lst;
    string s;
    while(infile>>s)
        lst.push_back(s);
    infile.close();
    lst.sort();
    list<string>::iterator ilst = lst.begin();
    while(ilst != lst.end())
    {
        cout<<*ilst<<endl;
        ++ ilst;
    }
    return 0;
}
难道是这样?LZ最好把代码的目的和现在代码怎么错了说一下。。。
#4
gaoce2272010-06-02 11:29
我只知道lz使用的不是标准的C++。
#5
jjg2010-06-02 17:21
回复 2楼 Isilendil
我要使文件中的字符排序,该怎么写呢
#6
shinelin092010-06-02 18:30
   我也正对这个发愁呢
#7
lijm19892010-06-02 20:55
字符??
程序代码:
#include <iostream>
#include <fstream>
#include <string>

#include <list>
using namespace std;
int main()
{
    ofstream fileone("file1.txt");
    string a("file1.txt");
    fileone<<"huanyinglaijinda"<<endl;
    ifstream infile(a.c_str());
    list<char>lst;
    char s;
    while(infile>>s)
        lst.push_back(s);
    infile.close();
    lst.sort();
    list<char>::iterator ilst = lst.begin();
    while(ilst != lst.end())
    {
        cout<<*ilst;
        ++ ilst;
    }
    return 0;
}
#8
jjg2010-06-03 19:57
回复 7楼 lijm1989
我咋就那么傻呢
1