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

字符串排序问题

zfan85 发布于 2010-11-04 16:42, 689 次点击
我又一个txt 文件里面有
sdjhsjhjkshfd
dfjkdsfhdskhfdsjnfmds
djdkfdsh djshfdsk
djfdj 29w20e

我想读入这些字符串(一行为一个字符串),然后根据第一个字母得大小排列,再输出结果,代码如下

#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    vector<string> vstring;
    ifstream in("\\.psf\Home\Desktop\5-chapter.txt");
    for(string s;getline(in,s);)
        vstring.push_back(s);
    sort(vstring.begin(),vstring.end());
    for(vector<string> ::iterator iter=vstring.begin();iter!=vstring.end();iter++)
        cout<<*iter<<"\n";
}

代码compile是没有问题  就是结果不对。不知道哪里有问题
5 回复
#2
zfan852010-11-04 23:23
没人知道么?
#3
玩出来的代码2010-11-05 00:00
程序代码:
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    vector<string> vstring;
    string line,word;
    ifstream in("1.txt");
    while(getline(in,line))
    {
        stringstream tmp(line);    将一行中的单词分开放入容器
        while(tmp>>word)
        {
            vstring.push_back(word);
        }
      
    }
    sort(vstring.begin(),vstring.end());
    for(vector<string> ::iterator iter=vstring.begin();iter!=vstring.end();iter++)
        cout<<*iter<<"\n";
}

#4
最近不在2010-11-05 00:05
程序代码:
// Note:Your choice is C++ IDE
#pragma warning(disable:4786)
#include <iostream>
#include <fstream>
#include <vector>
#include <sstream>
#include<algorithm>
using namespace std;

int main()
{
    ifstream ifile("d:/123.txt");
    string str;
    vector<string> vec;

   
    cout<<"文本内容:"<<endl;
    while(getline(ifile, str))
    {
        cout<<str<<endl;
        vec.push_back(str);
    }
    ifile.close();
    ifile.clear();
   
    sort(vec.begin(), vec.end());
   
    cout<<"排序后文本内容:"<<endl;
    for(vector<string>::iterator iter = vec.begin(); iter != vec.end(); ++iter)
    {
        cout<<*iter<<endl;
    }
    return 0;
}
#5
zfan852010-11-05 11:09
回复 3楼 玩出来的代码
请问下 为什么要单独存放
#6
zfan852010-11-05 15:06
回复 4楼 最近不在
好像你的方法不行啊
1