如何解决如何从文件中读取两三列并进行打印?
该文件包含三列,但是在此代码中,每当我尝试打印第一列时,它都会被打印,但是当我尝试打印这两列时,它们将像这样打印。我不知道该如何处理?
After:,0�'�,13/10/1990
Ali Ahmed,20/10/1990
Bilal Khan,�&�
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define STRING_LEN 200
int compare(const void * a,const void * b) { return strcmp(a,b); }
int main(){
FILE * fp1 = fopen("file.csv","r");
int count = 0,i;
char string[STRING_LEN],record1[5][STRING_LEN],record2[5][STRING_LEN];
char * wordOne = NULL;
char * wordTwo = NULL;
char * wordThree = NULL;
while(fgets(string,STRING_LEN,fp1)){
string[strcspn(string,"\n")] = 0;
wordOne = strtok(string,",");
wordTwo = strtok(NULL,");
wordThree = strtok(NULL,");
strcpy(record1[count++],wordOne);
strcpy(record2[count++],wordTwo);
}
printf("Before:\n");
for(i = 0; i < count; ++i)
printf("%s\n",record1[i]);
qsort(record1,count,sizeof(record1[0]),compare);
qsort(record2,sizeof(record2[0]),compare);
printf("\nAfter:\n");
for(i = 0; i < count; ++i)
printf("%s,%s\n",record1[i],record2[i]);
exit(0);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。