2013-07-24 71 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. 使用一個或多個元素作爲鍵,根據需要對結構進行排序。