`
忧里修斯
  • 浏览: 436268 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

linux c 文件、字符串操作示例

阅读更多
#include <stdio> #include <stdlib> #include <string> #include <errno> #define FILE_LEN 64 #define MAX_LINE 128 #define LINE 8 int main(int argc, char *argv[]) { FILE *in, *out; char file_name[FILE_LEN]; char buf[MAX_LINE]; char outbuf[MAX_LINE]; char head[LINE]; char *p; int len; if(argc != 2){ /* 命令格式错误,正确的格式为:命令名 配置文件名 */ printf("wrong usage\n"); exit(1); } len = strlen(argv[1]); /* 求文件名长度 */ if(strcmp(&amp;argv[len - 3], "ini") != 0){ /* 比较其扩展名是否是"ini" */ printf("source file error\n"); exit(1); } in = fopen(argv[1], "rb"); /* 打开配置文件 */ if(in == NULL){ perror("fail to open"); exit(1); } strcpy(file_name, argv[1]); /* 将配置文件的扩展名改为"xml" */ strcpy(&amp;file_name[len - 3], "xml"); out = fopen(file_name, "wb"); /* 打开".xml"文件,该文件的文件名和原配置文 件一样 */ if(out == NULL){ perror("fail to open"); exit(1); } while(fgets(buf, MAX_LINE, in) != NULL){ /* 顺序读取每一行 */ len = strlen(buf); /* 去掉最后一个'\n'结束符 */ buf[len - 1] = '\0'; if(buf[0] == '#') /* 书写配置信息头 */ sprintf(outbuf, "<!-- %s -->\n", buf); else if(buf[0] == '!'){ /* 书写配置信息头 */ sprintf(outbuf, "\n", buf); strcpy(head, buf); /* 复制一份,用于后面输出 */ }else if(buf[0] = '\0') sprintf(outbuf, "%s&gt;\n\n", head); /* 遇到空行,说明一个配置信息 结束,输出配置信息结尾 */ else{ p = strtok(buf, "="); /* 将原配置文件中的一行拆分为配置选项和配置内 容 */ sprintf(outbuf, "\t%s%s&gt;\n", buf, p, buf); } if(fputs(outbuf, out) == NULL){ /* 将准备好的输出信息输出,每一行输出一 次 */ perror("fail to write"); exit(1); } } if(errno != 0){ /* 循环结束,判断是否是因为文件读操作出错而退出 */ perror("fail to read"); exit(1); } fclose(in); /* 关闭文件 */ fclose(out); return 0; }</errno></string></stdlib></stdio>
分享到:
评论

相关推荐

    linux下c字符串操作常用方法

    在Linux环境下,C语言是系统编程的基石,其对字符串的操作是编程中不可或缺的一部分。本文将深入探讨在Linux下C语言处理字符串的一些常见方法,包括去除字符串的左右空格、字符串的连接、提取子字符串、大小写转换、...

    linux 下c写的字符串替换

    以上就是在Linux环境下,使用C语言实现字符串替换的基本原理、步骤和示例代码。通过熟练掌握这些知识点,你可以轻松地在自己的项目中处理字符串替换的需求。在实际编程中,还可以结合其他C库(如`glib`或`pcre`)...

    c语言删除字符串中指定的所有字符

    此代码示例提供了一种高效的方法来移除字符串中的特定字符,并且已经在Windows和Linux环境下进行了测试验证。 ### 一、理解需求 首先,我们要明确本程序的功能:删除一个字符串中所有出现的指定字符。例如,给定...

    字符串替换函数基于C语言实现可运行于Linux

    在C语言中,字符串操作是程序设计中的基本任务之一,特别是在文本处理和文件操作中。本文将深入探讨如何在Linux环境中使用C语言实现一个字符串替换函数。首先,我们需要理解C语言中的字符串基础知识,然后我们将讨论...

    十六进制与字符串转换

    了解了这些基本的转换方法后,你就可以灵活地在Linux C环境中处理十六进制数据和字符串,无论是解析日志文件、调试程序还是处理底层通信协议,都会变得更加得心应手。记得在实际编程时,一定要注意边界条件、溢出...

    字符串查找替换(批量任何文件)

    3. 编程语言:通过编程语言(如Python、Java、C#)编写脚本,利用文件读写和字符串操作函数,可以自定义查找替换规则并实现批量处理。 三、Python示例 Python提供强大的字符串操作和文件处理功能,可以轻松实现...

    linux或unix下去掉空格c代码

    在处理字符串时,C语言使用字符数组来表示,并通过库函数如`strlen()`计算字符串长度,`strcpy()`复制字符串,`strcat()`连接字符串,以及`strchr()`和`strstr()`在字符串中查找子串。 在Linux或Unix系统中,标准...

    Linux下常用函数-字符串函数

    根据提供的文件信息,我们可以归纳总结出以下几个与Linux环境下字符串处理相关的知识点: ### 1. atof() 函数 - **函数定义**: `double atof(const char *nptr);` - **功能**: 该函数用于将字符串转换成双精度...

    Linux常用C函数—字符串转换篇.doc

    在Linux系统中,C语言提供了多个用于字符串转换的函数,这些函数可以帮助我们把字符串形式的数据转换成对应的数值类型,或者反之。本篇文章主要介绍了几个常见的字符串转换函数,包括`atof`、`atoi`、`atol`以及`...

    linux c语言实现websocket

    首先,`iot_string.c`和`iot_string.h`文件可能包含了字符串操作的函数,这是在处理HTTP升级头和WebSocket帧时必不可少的。字符串处理包括拼接、分割、查找和比较等,对于解析HTTP请求和构建响应至关重要。 `iot_...

    将某表示文件路径的字符串的文件名分离出文件路径

    文件路径与字符串操作 在计算机系统中,文件路径通常用来标识文件在文件系统中的位置。文件路径可以是绝对路径(从根目录开始)或是相对路径(相对于当前工作目录)。在本例中,“c:/1/11/text.java”就是一个绝对...

    LINUX下c语言读取文件信息

    在Linux操作系统中,C语言是进行系统编程和文件操作的常用语言。要读取文件信息,你需要使用标准库中的函数,这些函数提供了与文件系统交互的能力。本文将深入讲解如何在Linux环境下用C语言来读取文件信息。 首先,...

    linux中截取字符串cut命令用法简介参考.pdf

    Linux 中截取字符串 cut 命令是 Linux 系统中的一种常用命令,用于截取文本文件中的指定字符串。cut 命令可以根据不同的选项来截取不同的字符串,例如根据字符、字节、字段等。 cut 命令基本语法 cut 命令的基本...

    c 查找字符串

    "c查找字符串--模式匹配"这个文件可能包含了一些示例代码,用于解释和实践这两种算法。学习这些算法,不仅可以通过阅读理论,还可以通过动手编写和调试代码来加深理解。 总之,理解和掌握字符串查找及模式匹配的...

    shell中字符串截取

    在Shell脚本编程中,对字符串进行截取是常见的操作之一。通过对字符串的处理,可以实现各种数据解析、文件名提取等实用功能。本文将详细介绍几种常用的Shell中字符串截取方法及其应用场景。 ### 基础概念与应用场景...

    用C语言Linux下打印带颜色的字符串

    **`color_print.c` 文件可能包含的内容**:这个源文件可能实现了上述的C语言函数,用于方便地输出不同颜色的字符串。它可能包含各种颜色的定义以及封装好的函数,如 `print_red()`,用于打印红色文本。 **`color_...

    Linux下用c语言实现发送http请求

    - `string.h`:字符串操作函数。 - `sys/types.h` 和 `sys/socket.h`:定义了socket相关数据类型和函数。 - `errno.h` 和 `unistd.h`:错误处理和通用Unix系统调用。 - `netinet/in.h`:Internet套接字地址结构。 - ...

    linux C++ 文本文件创建写入以及读取

    这段代码会创建一个名为`test.txt`的文件,并写入字符串"Hello, World!"。如果文件已经存在,`ofstream`默认会在文件末尾追加内容。如果文件无法打开,`!outfile`会为真,提示错误。 2. **读取文件**: 使用`...

    linux c 配置文件读写

    总结来说,Linux C语言中配置文件的读写涉及文件操作、字符串处理以及自定义的数据结构。通过解析和重构文件内容,可以实现对配置文件的有效管理和更新。提供的示例代码可能展示了这一过程,通过对这些代码的分析和...

    linux C实战

    《Linux C实战》一书是针对想要在Linux环境下进行C语言编程的读者而设计的,旨在帮助读者深入理解和掌握Linux操作系统以及C语言编程的核心概念和技术。以下是对书中的主要知识点的详细阐述: 1. **Linux操作系统...

Global site tag (gtag.js) - Google Analytics