私はcsvファイルを持っていて、これは次のようになります:
- 1;53453;45847865
- 1;37567;53687686
- .
- .
- .
- . n. 1;999768;5645644
そして、ファイルを開いて読み取り、各行をセミコロンから区切られる3つのトークンに分割したい....
例えば
1;35435;75675
token1 = 1;
token2 = 35435;
token3 = 75675;
私が持っているコードは、ファイルを開いて読み取るメインと、手動で文字列を取得して分割する関数です...
これを実装する簡単な方法と、ファイルの最初の行をスキップする方法があるかどうかを知りたい!!!!!
#include<stdio.h>
int main(){
char c;
FILE *fp;
char line;
float x;
float y;
if((fp=fopen("test.csv","r"))==NULL){
printf("cannot open the file");
}else{
do{
c = fscanf (fp, "%c", &line);
printf("%c" , line);
}while(c!=EOF);
fclose(fp);
}
}
__ _ __ _ _ __ _ _ __ _ _ __ _ __ _ _ __ - _ _ _ _
int TokenX(char line) {
char *id;
char *x;
char *y;
char line[] = "1;345345;765767";
char *search = ";";
id = strtok(line , search);
// printf(id);
x = strtok(NULL , search);
printf(x);
y = strtok(NULL , search);
printf(y);
return(x);
}
int TokenY(char line) {
char *id;
char *x;
char *y;
char line[] = "1;345345;765767";
char *search = ";";
id = strtok(line , search);
// printf(id);
x = strtok(NULL , search);
printf(x);
y = strtok(NULL , search);
printf(y);
return(y);
}