c - 调试传递两个参数的 C 程序

标签 c codelite

我已经修复了代码中的一些语法错误,现在程序可以正常编译了。但是当我执行程序时,输出文件为空。输出文件应具有输入文件的相反顺序的内容。我正在尝试在 CodeLite IDE 中调试代码。

我需要使用传递的两个参数(inputFile 和outputFile)来调试代码。我似乎在 CodeLite IDE 中找不到该选项。我该怎么做?

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


#define BUFFER_SIZE 256
int main (int argc, char *argv[]){
    FILE  *inputFile, *outputFile; 
    int fileSize;
    int pointer;
    char buffer[BUFFER_SIZE];

    /* Check for correct user's inputs. */
    if( argc !=3 ) {
        fprintf(stderr, "USAGE: %s inputFile outputFile.\n", argv[0]);
        exit(-1);
    }

    /* Make sure input file exists. */
    if( (inputFile = fopen(argv[1], O_RDONLY))) {
        fprintf(stderr, "Input file doesn't exist.\n"); 
        exit(-1);
    }

    /* Create output file, if it doesn't exist.  Empty the file, if it exists. */

    if((outputFile = fopen(argv[2], "a+"))) {
        fclose(inputFile);
        exit(-1);
     }


    /* Find the size of the input file. */
    fileSize = fseek(inputFile, 0, SEEK_END);


    /* Read input file and write to output file in reversed order.*/

    for(pointer=fileSize-1; pointer>=0; pointer--) {


    /*Write content in the buffer to the output file */

        while(!feof(inputFile))
        {
            fgets(buffer, BUFFER_SIZE, inputFile); //reads 256 bytes at a time
            fputs (buffer , outputFile );
        }

    }

    fclose(inputFile);
    fclose(outputFile);

    return(0);
} 

最佳答案

http://codelite.org/LiteEditor/ProjectSettings :

项目设置>>常规>>命令参数

关于c - 调试传递两个参数的 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49366039/

相关文章:

c - 如何在另一个程序下执行c程序

c - 如何从终端编译这个简单的 shellcode c 程序?

ubuntu - 在 Ubuntu 14.04 LTS 中单击新工作区或创建新项目后,Codelite 崩溃

c++ - Codelite 调试器错误 : Failed to locate gdb! 在 '/usr/bin/gdb'

c - 如何注册和取消注册中断事件

c - scanf 字符串困惑

c - 如何让我的编译器在 Codelite 中工作? (它适用于代码块)

c++ - 找不到文本文件?

c++ - 如何将 Graphics.h 包含在 Codelite 中?

c++ - 最小值不在二叉树中?