gpt4 book ai didi

c - 这是如何运作的?关于在数组中保存字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:44:33 24 4
gpt4 key购买 nike

我正在尝试从文本文件中读取一系列名称并将它们保存到一个数组中。在我尝试使用索引(例如:array[0])引用特定名称之前,一切看起来都很好。它给了我 t25.txt,它应该给我 t1.txt。我做错了什么?

这是我所拥有的:

#define MAX_STRING 25

FILE *in;

in = fopen("filenames.txt", "r");
if (!in) {
printf("Failed to open the file\n");
exit(1);
}

char array[MAX_STRING];
// In my mind, I want it to look like this:
// array[0] = t1.txt
// array[1] = t2.txt
int i;

for ( i = 0; i < MAX_STRING; i++ ) // Get 25 words
{
fscanf( in, "%s", array);
printf( "filename = %s\n", array);
// I print it out to make sure it's getting what i want and it did
}

我的文本文件 - filenames.txt 是这样的
t1.txt
t2.txt

非常感谢

最佳答案

char array[MAX_STRING];

是字符数组,不是字符串数组。您的循环在每次迭代中都会覆盖此数组。你的意思可能是类似

char array[N_STRINGS][MAX_LENGTH_OF_A_SINGLE_STRING];

关于c - 这是如何运作的?关于在数组中保存字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com