我正在处理一个班级项目,真的需要帮助。我需要实现的是从一个文本文件或两个单独的文件中读取两个字符串,并将它们分别存储在两个数组中。这些字符串可以是任意长度,但不必非常长。每个数组的大小可以根据相应字符串的长度自动调整。
我已经在 Stack Overflow 上搜索到了一些代码,尝试使用其中一个使用 malloc() 的代码。但当我尝试获取数组的大小时遇到了麻烦。
我已经在 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;
}
我试图输出字符串的长度,但是无论字符串有多长,我得到的都是一个常量值80。此外,我不知道如何读取两个字符串并将它们存储在两个单独的数组中。当我尝试添加另一个字符串到代码中时,出现了错误。