2013-07-24 35 views
0

我正在构建一个代码,我必须在该代码上读取包含许多类型数据的文本文件。下面是该文件的一部分:阅读文本文件的确切列并将值/文本放入向量中

1000000 923475248-18 Ramiro A. Xavier 
999999 923501748-58 Ramiro A. Wolski 
999998 923517472-32 Ramiro Q. Wollinger 

(它拥有百万行)

读完之后,我必须选择我要处理的数据的类型,我必须对它进行排序,在数字的情况下按字母顺序或以新月/新月顺序排列。

我已经有了对它进行排序的代码(Bubble Sort),但是在我的代码中,我必须自己输入数据。所以我的问题是:

如何读取此文件的一个特定列并将其保存在数组上?

我工作的这是一个项目,我不能使用C++语言或比较复杂的结构,如(“COUT < <,BUF,AOT,tmpline”)

我设法阅读文件和打印什么是在其与此代码:

#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <string.h> 
#include <time.h> 
int main() 
{ 
    FILE *fp; 
    char c; 

    fp = fopen("list1000000.txt","r"); 
    if(!fp) 
    { 
     printf("Error"); 
     exit(0); 
    } 
    while((c = getc(fp)) != EOF) 

    printf("%c", c); 

    getch(); 
    return 0; 
    fclose(fp); 
    getch(); 
    return 0; 
} 

感谢, 爱德华

+0

你玩过shell排序命令吗?这非常棒,可以处理这些数据。 – Jiminion

+0

抢一条线并做一个sscanf。 sscanf(line,“%d%d%s%s%s \ n”,&var,&var,fn,mn,lastname); – Jiminion

+0

我不认为我理解你被迫工作的限制。具体来说,会考虑“*复杂结构*”。你可以在你的文章中澄清这一点吗? – jxh

回答

0
  1. 阅读一行
  2. 扫描它的各个部分(数字,名字,中间首字母,姓氏等)
  3. 将元素放入一个包含所有元素的结构中。将指针指向数组中的结构。
  4. 使用一个或多个元素作为键,根据需要对结构进行排序。