C语言中FILE相关与CodeBlocks命令行(windows)

本文介绍了一个C语言程序,该程序模仿了cat命令的功能,能够从标准输入或指定文件读取内容,并将其输出到标准输出。代码展示了如何使用FILE指针进行文件操作,包括打开文件、读写文件内容等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中FILE相关


The C programming Language
文件访问


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

int main(int argc, char *argv[])
{
    FILE *fp;
    void filecopy(FILE *, FILE *);//声明可以放在调用或全局
    if (argc == 1)
    {   /* no args; copy standard input */
        filecopy(stdin, stdout);//宏stdin,stdout
    }
    else
    {
       while(--argc > 0)
       {
           if ((fp = fopen(*++argv, "r")) == NULL)
            {
                printf("cat: can't open %s\n", *argv);
                return 1;
            }
            else
            {
                filecopy(fp, stdout);
                fclose(fp);
            }
       }
    }

    printf("Hello world!\n");
    return 0;
}
    /* filecopy: copy file ifp to file ofp */
    void filecopy(FILE *ifp, FILE *ofp)
    {
        int c;
        while ((c = getc(ifp)) != EOF)
            putc(c, ofp);
    }


这是书上的代码,感觉写的很好,模仿cat功能。下面用CB演示了一下。


CodeBlocks命令行(windows)


project->set arg
这里写图片描述


命令提示符cmd
这里写图片描述

### 在 CodeBlocks 中通过命令行进行编译 为了在 Ubuntu 下使用 CodeBlocks 并结合 CMake 进行项目管理编译,可以按照以下方法操作: #### 创建新项目 创建一个新的 CodeBlocks 项目,在项目向导中选择“Empty project”,这允许手动编写 `CMakeLists.txt` 文件而不依赖于 IDE 自动生成的构建文件。 #### 设置环境变量 确保 MinGW 或者其他所使用的编译器路径已经加入到系统的环境变量中。对于 Linux 用户来说,通常不需要额外设置这些变量因为大多数发行版默认包含了必要的库和头文件目录[^3]。 #### 编写 CMakeLists.txt 在一个合适的位置创建名为 `CMakeLists.txt` 的文本文件,并编辑此文件以定义项目的结构以及所需的源码文件。例如: ```cmake cmake_minimum_required(VERSION 3.10) project(MyOpenGLProject) set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} main.cpp) find_package(GL REQUIRED) target_link_libraries(${PROJECT_NAME} GL::GL) ``` #### 使用终端执行 cmake 和 make 命令 打开终端进入包含 `CMakeLists.txt` 文件所在的文件夹,依次运行下面两条指令完成生成 Makefile 及实际编译工作: ```bash mkdir build && cd build cmake .. make ``` 上述过程将会读取根目录下的 `CMakeLists.txt` 来准备相应的构建系统并最终产出可执行文件[^1]。 #### 将外部构建集成至 CodeBlocks 回到 CodeBlocks 内部,右键点击左侧树形视图中的工程名称->Build options... -> Compiler settings -> Other options 添加 `-DCMAKE_BUILD_TYPE=Debug`(如果需要调试版本),接着前往 Linker settings 页面添加链接选项如 `-lglut -lGLU -lGL` (针对 OpenGL 应用)[^5]。 最后保存所有更改并尝试重新构建整个解决方案;现在应该可以在不离开图形界面的情况下享受由命令行驱动的强大灵活性了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值