簡體   English   中英

從文本文件中讀取值?

[英]Reading values from a text file?

我有以下格式的文本文件中的數據

WA5362288SeaTac city         25496    10176      434224    9.964121    0.167655 47.441406-122.293077
WA5363000Seattle city       563374   270524   151956998   83.872647   58.670927 47.626353-122.333144

現在我試圖從上面的數據中提取特定的值(刪除了一些填充空格),例如

WA SeaTAC 47.441406 -122.293077

我不確定如何在通過文本文件流式傳輸時從 C 中的特定列中獲取值

    FILE *fp;
    fp = fopen("places.txt", "r");

    if(fp == NULL){
            fprintf(stderr, "Can't open the file");
            exit(1);
    }

    while(!feof(fp)){
       //extract values from specific column
       //fscanf()
    }

我假設您的文件包含以下內容:

WA 5362288 SeaTac city         25496    10176      434224    9.964121    0.167655 47.441406 -122.293077
WA 5363000 Seattle city       563374   270524   151956998   83.872647   58.670927 47.626353 -122.333144

讓文件名是 simple.txt 。 然后以下代碼符合您的目的:

   #include <stdio.h>

FILE *fp;

int main()
{
   char buff1[80],buff2[80];
   char buff3[80];
   int num,num1,num2,num3 ;
   float num4,num5,num6,num7;
   fp = fopen("simple.txt", "r");
    if(fp == NULL){
            fprintf(stderr, "Can't open the file");
            exit(1);
    }
    while(fscanf(fp, "%19s %d %19s %19s %d %d %D %f %f %f %f ", buff1,&num,buff2,buff3,&num1,&num2,&num3,&num4,&num5,&num6,&num7)!= EOF)
       printf("%s %d %s %s %d %d  %d %f %f %f %f \n",buff1,num,buff2,buff3,num1,num2,num3 ,num4,num5,num6,num7);


   fclose(fp);
}

此代碼打印文件的內容,如下所示:

WA 5362288 SeaTac city 25496 10176  434224 9.964121 0.167655 47.441406 -122.293076
WA 5363000 Seattle city 563374 270524  151956998 83.872650 58.670925 47.626354 -122.333145

希望這可以幫助 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM