c - 从给定参数的文件中反转行

标签 c string function file

我必须编写一个函数 void reverse_file(FILE* file),它一次从参数文件中读取一行到一个本地字符数组缓冲区,该缓冲区的大小是 #defined 作为预处理器常量 MAXLINE。对于每一行,此函数调用前面的 reverse_string 函数来反转该行,然后将反转后的行写入标准输出。

我有 reverse_string 方法

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse_String(char* str);
int main()
{
    char str [256];
    strcpy_s(str, "Hello");
    reverse_String(str);
    return 0;
}
void reverse_String(char* str)
{
    int i, j;
    char temp;
    i=j=temp=0;

    j=strlen(str)-1;
    for (i=0; i<j; i++, j--)
    {
        temp=str[i];
        str[i]=str[j];
        str[j]=temp;
    }
    printf("%s",str);
}

我只需要 reverse_file(FILE* file) 部分的帮助。

感谢任何帮助。

最佳答案

也许是这样的?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse_String(char* str)
{
    int i, j;
    char temp;
    i=j=temp=0;

    j=strlen(str)-1;
    for (i=0; i<j; i++, j--) {
        temp=str[i];
        str[i]=str[j];
        str[j]=temp;
    }
    printf("%s",str);
 }

 void reverse_File(FILE* file) {
     char* line;
     size_t len = 0;
     ssize_t read;

     while ((read = getline(&line, &len, file)) != -1) {
        reverse_String(line);
     }
 }

int main(void) {

    FILE * fp;

    fp = fopen("Maze.txt", "r");

    if (fp == NULL)
        exit(EXIT_FAILURE);

    reverse_File(fp);
}

关于c - 从给定参数的文件中反转行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36255632/

相关文章:

C:匹配scanf中的单个空格

c - 将 OpenCV Mat 图像与英特尔 IPP 一起使用?

php - 替换字符串中子字符串每次出现但最后一次出现的有效/简单方法(str_replace_except_last)?

ios - 如何在 Swift 中使用我自己的函数创建一个文件

Oracle:从 "select from dual"调用函数不执行任何操作

没有签名的c++监视功能

Ubuntu下用mingw交叉编译git仓库

c - 如何在函数中检查 C 中的类型

java - 使用正则表达式拆分字符串

java - 从代码渲染一个 jsp 页面并将渲染后的 html 输出作为字符串