gpt4 book ai didi

c - 如何以相反的顺序打印文件中的行

转载 作者:行者123 更新时间:2023-12-02 05:08:30 27 4
gpt4 key购买 nike

我正在尝试以相反的顺序打印文件。我正在使用数组来保存每一行数据。到目前为止,我能够按正常顺序打印每一行。

index 是我指的行数,和 FuncIndex 一样,但是在函数中又声明了一次。

file = fopen("../quotes.data","r");
while (NumOfField == 8) {
NumOfField = fscanf(file,"%d,%c,%d,%d,%c,%c,%lf,%lf", &quote[index], &roomletter[index], &length[index], &width[index], &paint[index], &ceiling[index], &cost[index], &setup_cost[index]);
index++;
}
index--;
fclose(file);


在函数中:

int FuncIndex;
for (FuncIndex = 0; FuncIndex <= index; FuncIndex++) {
printf("\n%5d %1c %3d %3d %1c %1c %8.2lf %6.2lf", quote[FuncIndex], roomletter[FuncIndex], length[FuncIndex], width[FuncIndex], paint[FuncIndex], ceiling[FuncIndex], cost[FuncIndex], setup_cost[FuncIndex]);
}

现在我尝试将 for 循环更改为:

for (FuncIndex = index; FuncIndex >= 0; FuncIndex--) >

但是输出打印为空。虽然当我将 0 更改为任何数字时,相应的行会被打印出来。

打印的输出是:

Quote Room Length Width Paint Ceiling     Cost  Setup
===== ==== ====== ===== ===== ======= ======= =====
531 A 10 10 b n 96.00 100.00
531 B 15 15 b n 144.00 0.00
531 C 20 20 b n 192.00 0.00

我希望像这样反转输出:

Quote Room Length Width Paint Ceiling     Cost  Setup
===== ==== ====== ===== ===== ======= ======= =====
531 C 20 20 b n 192.00 0.00
531 B 15 15 b n 144.00 0.00
531 A 10 10 b n 96.00 100.00

如果我将输出放在代码部分,请原谅,因为这样格式会改变

谢谢。

最佳答案

也许您应该发布所有代码(但是,请尽量减少代码)。这对我有用:

文件输入.txt

530 A531 B532 C
#include <stdio.h>
#include <conio.h>

#define MAX_LINES 50

int main()
{
FILE* file;
int NumOfField = 2;
int index = 0;
char roomLetter[ MAX_LINES ];
int quote [ MAX_LINES ];

file = fopen("input.txt","r");

while ( NumOfField == 2 ) {
NumOfField = fscanf(file,"%d %c\n", &quote[index], &roomLetter[index]);
index++;
}
fclose(file);
index--;

for(; index >=0; index-- )
printf( "%d %c\n", quote[index], roomLetter[index] );

getch();

return 0;
}

关于c - 如何以相反的顺序打印文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394155/

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