2 つ以上の CSV ファイルを比較し、同じ名前の名前を見つけて、2 つ以上ある場合はそれらを出力するプログラムを作成しようとしています。各名前は、1 つのファイルに 1 回だけ表示されます。
一般的なファイルは次のようになります。
Name,E-mail,Student Level,Major
John Doe, jdoe@something.com, Freshman, CS
Jane Doe, janed@something.com, Freshman, CS
....
したがって、これらの名前のいずれかが 2 つ以上のファイルにある場合、プログラムはその名前と、その名前がファイルに表示される合計回数を出力する必要があります。
私はこれまで多くのことをしてきました。1つのファイルから名前だけを印刷するようになりました。次に何をすべきかわからない。これがそのコードです。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define buffer 1024
int main(){
FILE *fp;
char temp[buffer], *fn, *ln;
char *first[buffer], *last[buffer];
int line_count = 0;
fp = fopen("students.csv", "r");
while( (fgets(temp, buffer, fp) != NULL) )
{
first[line_count] = (char *)malloc(sizeof(char)* buffer);
last[line_count] = (char *)malloc(sizeof(char) * buffer);
ln = strtok(temp,",");
fn = strtok(NULL,",");
strcpy(first[line_count], fn);
strcpy(last[line_count], ln);
line_count++;
}
while(line_count--)
{
printf("Name : %s %s\n", first[line_count], last[line_count]);
}
fclose(fp);
return 0;
}
私はC++が初めてなので(したがって、Cでコードを書いています)、誰かが私を正しい方向に向けることができれば。それは素晴らしいことです。ありがとうございました。