【发布时间】:2021-06-23 15:23:40
【问题描述】:
我有一个文件customers.txt,它在“--”之间的一行包含客户姓名、购物日期和市场名称;
customers.txt
Yusuf Sevki Gunaydin--11/02/2018--MARKS AND SPENCER
Mert Lacinkaya--24/02/2018--VAKKO
Elif Gul--13/05/2017--TEKIN ACAR
Hatice Cataloluk--12/07/2017--SIEMENS
我想从文件中读取它并存储在结构中并查看。添加了所有细节。
typedef struct customer
{
const char *name;
const char *date;
const char *marketPlace;
}customer;
int main( void ){
FILE * file = fopen("customers.txt","r");
customer wcustomers[25];
if (file == NULL){
puts("File not found !!!");
}
else{
readFile(file,wcustomers);
}
for(int i=0; i<3 ; ++i){
printf("%s %s %s\n",
wcustomers[i].name,
wcustomers[i].date,
wcustomers[i].marketPlace);
}
return 0;
}
void readFile(FILE *fp, customer wcustomers[]){
char a[50],b[50],c[50];
size_t i=0;
while(fscanf(fp ,"%[^--]%*s%[^--]%*s%[^\n]%*s",a,b,c) != EOF){
wcustomers[i].name = a;
wcustomers[i].date = b;
wcustomers[i].marketPlace = c;
i++;
}
}
但是while循环程序的每次迭代都只是读取第一行并且有一个混乱。我可以在扫描文件时处理它或扫描后是否可以进行条带更改?
输出
��J'� 1 SUPERSTORE
Yusuf Evren Aykac JEAN'S COFFEES
��J'� 1 SUPERSTORE
Yusuf Evren Aykac JEAN'S COFFEES
��J'� 1 SUPERSTORE
Yusuf Evren Aykac JEAN'S COFFEES
提前致谢
【问题讨论】:
-
到目前为止您尝试了哪些方法,遇到了哪些具体问题?
-
您好,如果您能添加更多有关您正在做什么的详细信息,将不胜感激?直接要求解决方案是不好的。