使用 C 访问多个文件中的数据
Access the data from the multiple files using C
想使用 C 访问多个文件。
假设,我有那个名字的文件
- 1.txt
- 2.txt
- n.txt
我正在遍历所有文件直到 n。但是我只从 1.txt 的第一个文件中获取数据。并且该数据重复了 n 次。 (n代表文件个数)。
那么,如何从每个文件中获取数据。每个文件包含不同的数据。
for(i = 0; i < fileQuantity; i++) {
sprintf(buffer, "%d", i);
ptr = fopen(strcat("C:\TURBOC3\FILES\", strcat(buffer, ".txt")), "r");
fscanf(ptr, "%s", &adminUsername);
fclose(ptr);
outtextxy(225, 140 + distance, adminUsername);
distance += 30;
}
我很惊讶你甚至可以从一个文件中读取 :)。 strcat("C:\TURBOC3\FILES\",
将不起作用,因为它会调用未定义的行为(尝试修改字符串文字,访问越界)。
只需执行:
sprintf(buffer, "C:\TURBOC3\FILES\%d.txt", i);
ptr = fopen(buffer, "r");
或更好
snprintf(buffer, buffer_length, "C:\TURBOC3\FILES\%d.txt", i);
我建议使用比 TurboC 3 更现代的东西 :)(至少从本世纪开始)
想使用 C 访问多个文件。
假设,我有那个名字的文件
- 1.txt
- 2.txt
- n.txt
我正在遍历所有文件直到 n。但是我只从 1.txt 的第一个文件中获取数据。并且该数据重复了 n 次。 (n代表文件个数)。
那么,如何从每个文件中获取数据。每个文件包含不同的数据。
for(i = 0; i < fileQuantity; i++) {
sprintf(buffer, "%d", i);
ptr = fopen(strcat("C:\TURBOC3\FILES\", strcat(buffer, ".txt")), "r");
fscanf(ptr, "%s", &adminUsername);
fclose(ptr);
outtextxy(225, 140 + distance, adminUsername);
distance += 30;
}
我很惊讶你甚至可以从一个文件中读取 :)。 strcat("C:\TURBOC3\FILES\",
将不起作用,因为它会调用未定义的行为(尝试修改字符串文字,访问越界)。
只需执行:
sprintf(buffer, "C:\TURBOC3\FILES\%d.txt", i);
ptr = fopen(buffer, "r");
或更好
snprintf(buffer, buffer_length, "C:\TURBOC3\FILES\%d.txt", i);
我建议使用比 TurboC 3 更现代的东西 :)(至少从本世纪开始)