从文件中获取指定字符串源码

2024-04-15 01:08

本文主要是介绍从文件中获取指定字符串源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从文件中获取指定字符串源码
#include #include #include #include void help()
{
fprintf(stderr, "get string from file   -v1.0.1\t\t\t(c)Tody, 2013"\
"\nUsage:\n  wAt [-l ] [-s ] [-e ] [-B] [-F ] [-h]"\ "\n\t-l means the line number specified"\ "\n\t-s means start char location"\ "\n\t-e means end char location"\ "\n\t-B means print 'set value=string'"\ "\n\t-F means you need to specified file to get the string you want" "\n\t-h means this help message"); exit(1); } void oops(char *msg) { fprintf(stderr, "%s", msg); exit(1); } int getString(char *str, int sc, int ec, int isBatch) { char *tmp = str; if (str==NULL) return 1; if (ec !=0 ) *(str+ec)='\0'; if (sc != 0) tmp=tmp+(sc-1); if (isBatch) { printf("set value=%s", tmp); } else printf("%s", tmp); return 0; } int main(int argc, char *argv[]) { FILE *f=NULL; char filename[128]; int isBatch = 0; char buf[80]={'\0'}; int ch; int line = 1; int sc=0; int ec=0; int index = 1; if (argc<2) help(); while((ch = getopt(argc, argv, "l:s:e:hBF:")) != -1) { switch(ch) { case 'l': line = atoi(optarg); if (line == 0) oops("line is not a number"); break; case 's': sc = atoi(optarg); if (sc == 0) oops("start char is not a number"); break; case 'e': ec = atoi(optarg); if (ec == 0) oops("end char is not a number"); break; case 'B': isBatch = 1; break; case 'h': help(); break; case 'F': strncpy(filename, optarg, 128); break; case '?': oops("Error option!"); break; } } if (argc != optind) help(); f = fopen(filename, "rb"); if (f==NULL) oops("File open error"); while(!feof(f)){ fgets(buf, 80, f); if (index == line) { fclose(f); return getString(buf, sc, ec, isBatch); } else index ++; } // printf("Line: %d sc: %d ec: %d", line, sc, ec); fclose(f); return 1; } 

这篇关于从文件中获取指定字符串源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/904522

相关文章

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

java创建xls文件放到指定文件夹中实现方式

《java创建xls文件放到指定文件夹中实现方式》本文介绍了如何在Java中使用ApachePOI库创建和操作Excel文件,重点是如何创建一个XLS文件并将其放置到指定文件夹中... 目录Java创建XLS文件并放到指定文件夹中步骤一:引入依赖步骤二:创建XLS文件总结Java创建XLS文件并放到指定文件

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支