#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int read_file(const char *filename, double **prob, char **sense);
int main(){
double *iprob;
char *sense;
read_file("test.txt", &iprob, &sense);
printf("Main: %lf %c\n", iprob
[0], sense
[0]); printf("Main: %lf %c\n", iprob
[1], sense
[1]);
return 0;
}
int read_file(const char *filename, double **prob, char **sense){
FILE *fp;
char line[100], temp[80];
int i = 0;
fp = stdin;//mock
/*
fp = fopen(filename, "r");
if (fp == NULL){
fprintf(stderr,"File %s not found!\n", filename);
return 0;
}
*/
*prob
= (double *)malloc(sizeof(double) * 100); *sense
= (char *)malloc(sizeof(char) * 100);
while( fgets(line
, 100, fp
) != NULL
){
//prob[i] = (double *)malloc(sizeof(double));
//sense[i] = (char *)malloc(sizeof(char));
if ( sscanf(line
, "%s %lf %c", temp
, &(*prob
)[i
], &(*sense
)[i
]) < 3 ){
fprintf(stderr
, "Parsing error detected at line %d!", i
); return 0;
}
else{
printf("%lf %c\n", (*prob
)[i
], (*sense
)[i
]); }
i++;
}
return 1;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0cmluZy5oPgoKaW50IHJlYWRfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgZG91YmxlICoqcHJvYiwgY2hhciAqKnNlbnNlKTsKCmludCBtYWluKCl7CgogICAgZG91YmxlICppcHJvYjsKICAgIGNoYXIgKnNlbnNlOwoKICAgIHJlYWRfZmlsZSgidGVzdC50eHQiLCAmaXByb2IsICZzZW5zZSk7CgogICAgcHJpbnRmKCJNYWluOiAlbGYgJWNcbiIsIGlwcm9iWzBdLCBzZW5zZVswXSk7CiAgICBwcmludGYoIk1haW46ICVsZiAlY1xuIiwgaXByb2JbMV0sIHNlbnNlWzFdKTsKCiAgICByZXR1cm4gMDsKfQoKCmludCByZWFkX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGRvdWJsZSAqKnByb2IsIGNoYXIgKipzZW5zZSl7CgogICAgRklMRSAqZnA7CiAgICBjaGFyIGxpbmVbMTAwXSwgdGVtcFs4MF07CiAgICBpbnQgaSA9IDA7CglmcCA9IHN0ZGluOy8vbW9jawovKgogICAgZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKICAgIGlmIChmcCA9PSBOVUxMKXsKICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRmlsZSAlcyBub3QgZm91bmQhXG4iLCBmaWxlbmFtZSk7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiovCiAgICAqcHJvYiA9IChkb3VibGUgKiltYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiAxMDApOwogICAgKnNlbnNlID0gKGNoYXIgKiltYWxsb2Moc2l6ZW9mKGNoYXIpICogMTAwKTsKCiAgICB3aGlsZSggZmdldHMobGluZSwgMTAwLCBmcCkgIT0gTlVMTCl7CgogICAgICAgIC8vcHJvYltpXSA9IChkb3VibGUgKiltYWxsb2Moc2l6ZW9mKGRvdWJsZSkpOwogICAgICAgIC8vc2Vuc2VbaV0gPSAgKGNoYXIgKiltYWxsb2Moc2l6ZW9mKGNoYXIpKTsKCiAgICAgICAgaWYgKCBzc2NhbmYobGluZSwgIiVzICVsZiAlYyIsIHRlbXAsICYoKnByb2IpW2ldLCAmKCpzZW5zZSlbaV0pIDwgMyApewoKICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJQYXJzaW5nIGVycm9yIGRldGVjdGVkIGF0IGxpbmUgJWQhIiwgaSk7CiAgICAgICAgICAgIGZjbG9zZShmcCk7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICBlbHNlewoKICAgICAgICAgICAgcHJpbnRmKCIlbGYgJWNcbiIsICgqcHJvYilbaV0sICgqc2Vuc2UpW2ldKTsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQogICAgZmNsb3NlKGZwKTsKICAgIHJldHVybiAxOwp9