私はクラスプロジェクトに取り組んでいますが、本当に助けが必要です。私が理解する必要があるのは、1つのテキストファイルまたは2つの別々のファイルから2つの文字列を読み取り、それぞれ2つの配列に格納することです。文字列の長さは任意ですが、それほど長くする必要はありません。各配列のサイズは、対応する文字列の長さに応じて自動的に調整できます。
Stack Overflowを検索していくつかのコードを取得しましたが、を使用するコードを試していmalloc()
ました。しかし、配列のサイズを取得しようとしたときに問題が発生しました。
int main(){
int i = 0;
int BUFSIZE = 1000;
char* string[20];
FILE *fp = fopen("input.txt", "r");
if (fp == 0){
fprintf(stderr, "Error while opening");
return 0;
}
string[i] = (char *)malloc(BUFSIZE);
while (fgets(string[i], BUFSIZE, fp)) {
i++;
string[i] = (char *)malloc(BUFSIZE);
}
float len=sizeof(string);
printf("%f", len);
int x;
for(x = 0; x<i; x++)
free(string[x]);
scanf("%d", x);
fclose(fp);
return 0;
}
lenを出力しようとしましたが、文字列の長さに関係なく、定数値80を取得しました。また、2つの文字列を読み取り、2つの別々の配列に格納する方法がわかりません。コードに別の文字列を追加しようとするとエラーが発生しました。