科技翻譯各位版友好,小弟自己是非資工背景的學生,並且才剛接觸C說話,
因為一時興起去跨修電資學院的課,現在碰到了程式上的問題,
進展版上的朋友給點建議翻譯
碰到的問題: (題意請描述清晰)
小弟想撰寫一個讀取.txt檔的程式,檔案內容以下,
EX:以下是abc.txt的資料
--------------------------------------
| aaa bbb ccc ddd |此列為數據名稱
| 6.9 dsfs 1.0 3.68 |
| 6.9 sds 1.0 3.68 |
| 6.9 vbs 1.0 3.68 |
| 1.3 vbb 2.35 2.914 |
| 6.9 2vbv 1.0 3.68 |
--------------------------------------
數字 文字+數字 數字 數字
此資料約80多萬筆(列),且個中包含純數字或是文字+數字的欄位。
但願獲得的准確成績:
抽取吻合aaa行數值為6.9的所有列,
並將其顯示成如原本的檔案格局,
EX:以下是abc.txt的資料
--------------------------------------
| aaa bbb ccc ddd |此列為數據名稱
| 6.9 dsfs 1.0 3.68 |
| 6.9 sds 1.0 3.68 |
| 6.9 vbs 1.0 3.68 |
| 6.9 2vbv 1.0 3.68 |
| 6.9 sdsS 1.0 3.68 |
| 6.9 vSDD 1.0 3.68 |
| 6.9 2DSv 1.0 3.68 |
| . |
| . |
| . |
| . |
--------------------------------------
程式跑出來的毛病成效:
小弟有測驗考試用Dev-C++撰寫開檔程式,然則參考版上的CODE,
再編譯時using namespace std就出現問題,
#include <iostream>
#include <fstream>
using namespace std;
不知道是小弟哪裡設定毛病。
之前有效過fopen就可以開啟,可是因為筆數太多吃近來也沒意義,
不知道能否像小弟提出的設法讀取。
開辟平台: (例: VC++ or gcc/g++ or Dev-C++翻譯社 Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
以下是經過Dannvix大大所供給的code所點竄的,
目前已經可以經過判讀第一欄位是不是為所需數值來取值,
但小弟這邊又有個疑問,若是是想判斷第二欄位或是第三欄位的數值,
那應該如何改寫strncmp,小弟試了幾回都不可,甚致如果要更進一步,
好比說取該列的第一欄跟第三欄的數值來比較(大小or是不是相等之類)後,
再決議是否取值,請問有版友有想法的嗎?
#include <stdio.h>
#include <string.h>
#define MAX_LEN (200)
#define TARGET "1.0"
#define TARGET1 "2.35"
int main (void)
{
FILE *fd_in = fopen("input.txt", "r");
FILE *fd_out = fopen("output.txt", "w");
char buf[MAX_LEN], *ptr;
/* 處置第一行 (欄位名稱) */
fgets(buf翻譯社 MAX_LEN翻譯社 fd_in);
fputs(buf翻譯社 fd_out);
/* 利用 while + feof() 來處理未知筆數的資料 */
while (!feof(fd_in)) {
/* 讀一整行進來 */
fgets(buf, MAX_LEN, fd_in);
/* 檢查第一個數字是不是為天成翻譯公司們想要的 */
/* 如果是的話,就照原樣輸出 */
if (strncmp(buf, TARGET, strlen(TARGET)) == 0)
fputs(buf, fd_out);
if (strncmp(buf, TARGET1, strlen(TARGET1)) == 0)
fputs(buf, fd_out);
}
fclose(fd_in);
fclose(fd_out);
return 0;
}
補充申明:
因為小弟真的已沒辦法,所以才會這樣沒頭沒腦的問問題,
希望各位版友見諒,在此先感謝版友耐心的看完,如果有想法
麻煩請您與我分享,小弟感激不盡翻譯
文章出自: https://www.ptt.cc/bbs/C_and_CPP/M.1273861411.A.65F.html有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
- Mar 15 Thu 2018 16:07
[問題] 分批讀取大量資料的.txt檔
close
文章標籤
全站熱搜
留言列表