尝试反转具有多个字符串但仅反转最后一个字符串的文件
Trying to reverse a file wth multiple strings but only reversing last string
我正在尝试从另一个文件读取和打印并分别反转每一行,但我只能打印出这些行并反转最后一行。关于我需要做什么来反转文件中的每一行有什么建议吗?
*我不能使用 strrev(),必须保持相同的格式但颠倒过来(即相同的大写、数字和符号)
int main() {
int i=0, j, len;
char data[80]. rev[];
FILE *fp = fopen("fileread", "r");
// reads and prints out fileread
while(!feof(fp))){
fgets(data, 80, fp);
puts(data);
}
// reverse hopefully
while(data[++i] != '[=10=];);
while(i>=0);
rev[j++] = data[--j];
rev[j] = '[=10=]';
printf("String Reversed: %s\n, rev);
fclose(fp0);
}
这是我想要的例子。
(文件文本)
Hello World!
I am $till around.
running @ Best Speedz
kayak
预期输出:
!dlroW olleH
.dnuora llit$ ma I
zdeepS tseB @ gninnur
kayak
打印反转行的代码在 while 循环之外。因此它只会打印最后一行。
在 while 循环中,测试 fgets(...)!=NULL
。
不要忘记删除行尾的换行符,否则当你反转字符串时会有惊喜。
最后,为了便于阅读,创建一个单独的函数来执行字符串的就地反转。
我正在尝试从另一个文件读取和打印并分别反转每一行,但我只能打印出这些行并反转最后一行。关于我需要做什么来反转文件中的每一行有什么建议吗? *我不能使用 strrev(),必须保持相同的格式但颠倒过来(即相同的大写、数字和符号)
int main() {
int i=0, j, len;
char data[80]. rev[];
FILE *fp = fopen("fileread", "r");
// reads and prints out fileread
while(!feof(fp))){
fgets(data, 80, fp);
puts(data);
}
// reverse hopefully
while(data[++i] != '[=10=];);
while(i>=0);
rev[j++] = data[--j];
rev[j] = '[=10=]';
printf("String Reversed: %s\n, rev);
fclose(fp0);
}
这是我想要的例子。
(文件文本)
Hello World!
I am $till around.
running @ Best Speedz
kayak
预期输出:
!dlroW olleH
.dnuora llit$ ma I
zdeepS tseB @ gninnur
kayak
打印反转行的代码在 while 循环之外。因此它只会打印最后一行。
在 while 循环中,测试 fgets(...)!=NULL
。
不要忘记删除行尾的换行符,否则当你反转字符串时会有惊喜。
最后,为了便于阅读,创建一个单独的函数来执行字符串的就地反转。