2014-10-06 77 views
0

比方说,我有文件,其中包含数据格式符号化“...”串

Data1 "X1 Y1 Z1" 
Data2 "X2 Y2 Z2" 
Data3 "X3 Y3 Z3" 

一般情况下,我怎么会扫描该文件,并让我的计划数‘X1 Y1 Z1’作为一个单一的令牌?

+0

你想读取文件中的每一行到char数组? – Scooter 2014-10-06 02:45:05

+1

找到第一个'''的位置,第二个'''的位置,然后复制它们之间的所有字符。 – 2014-10-06 02:53:57

+0

你的文件是有data1也写在它或只有字符串x1 y1 z1,所以存在? – 2014-10-06 06:34:08

回答

2
#include <stdio.h> 

int main(){ 
    FILE *fp = fopen("data.txt", "r"); 
    char data_name[16]; 
    char data_string[32]; 

    while(2==fscanf(fp, "%15s \"%31[^\"]\"", data_name, data_string)){ 
     printf("%s, %s\n", data_name, data_string); 
    } 
    fclose(fp); 
    return 0; 
} 
+0

如果你想让Data1和“X1 Y1 Z1”进入单个数组,你将如何格式化它? – 2014-10-06 03:20:49

+0

@MatthewAllen例如转换为'struct data array [MAX_NUMOFREC];' – BLUEPIXY 2014-10-06 07:27:18