LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

下编程之一种比较笨的方法比较繁琐的执行结果

2023年4月12日 142点热度

在linux下编程时linux 统计字段分隔符,有时侯我们须要获取shell命令的执行结果,一种比较笨的方式是将shell命令的执行结果保存到文件linux删除文件夹,之后在读文件,读完以后,再删掉文件,或则使用临时文件也行。这些技巧比较冗长,我推荐的一种方式是使用popen函数,FILE*popen(constchar*command,constchar*type),例如我要获取ls-l的结果,我们可以这样做

FILE*stream;

if((stream=popen("ls-l"),r)==NULL)

{

perror("popen");

exit(1);

}

charbuf[256];

while(fgets(buf,256,stream)!=NULL)

{

...

}

pclose(stream);

这样就获取了每一行的数据

在获取了那些数据然后,我们有时侯须要对那些数据进行解析,例如从那些字符数据中读出个别数据,这时侯strstr,strchr,strrchr,sscanf这种函数就很有用了。

(1)char*strstr(char*str,char*substr);

strstr函数返回str中第一次出现substr的表针.

例如有这样一个字符串str="TotalMem:1800FreeMem:800swapMem:500"

你想读出FreeMem的值linux 统计字段分隔符,你就可以这样做

char*p=strstr(str,"FreeMem:");

intfreeMem;

sscanf(p+strlen("FreeMem:"),"%d",&freeMem);

sql查询逗号分隔字段_.xlsx 统计 求和 字段_linux 统计字段分隔符

这儿用到了sscanf,下边再讲.

(2)char*strchr(char*s,charc);

strchr函数返回字符串s中首次出现字符c的表针,

char*s="WeareChinese!";

char*p;

p=strchr(s,'C')

(3)char*strrchr(char*str,charc);

strrchr函数返回字符串str从左侧算起首次出现字符c的表针,例如我们要从一个路径字符串中解析出文件的名子

char*path="/home/liming/123.txt"

char*fileName=strrchr(path,'/')+1;

(4)intsscanf(constchar*buffer,constchar*format[,argument]...);

sscanf可以从字符buffer中读进与指定格式相符的数据,这样在字符串解析式就十分有用

1.诸如:

char*str="Jan182006";

你要将年月日分割下来,就可以这样

intday;

intyear;

charmonth[4];

sscanf(str,"%s%d%d",month,&day,&year);

2.十分便捷,又例如

char*str="Jan0202:02:022000"

你要将数据分离下来

intyear;

charmonth[4];

intday;

inthour;

intmin;

intsec;

sscanf(str,"%s%2d%2d:%2d:%2d%d",month,&day,&hour,&min,&sec,&year);

3.sscanf不一定一空格为分隔符,例如一个字符串一顿号‘,’分割数据时

char*str="werwe,124,455,23234";

charbuf[10];

inta1,a2,a3;

sscanf(str,"%[^,],%d,%d,%d",buf,&a1,&a2,&a3);

[^,]表示碰到字符‘,’时结束

4.有时侯我们不一定要读所有的数据如何安装LINUX,可能会跳过一些数据,这时可以用%*

char*str="hi124iu233.334"

假如我们只需读第四和第五个数据时

doublea4;

inta5;

sscanf(str,"%*s%*d%*s%f%d",&a4,&a5);

%*表示略过

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: char char函数 popen sscanf str函数
最后更新:2023年4月12日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
用集群技术构建网络服务器的发展趋势提出了 搜狗输入法forlinux版本安装指南: Linux中常用的4种虚拟化方法以及它们相应的优缺点 如何在linux下安装搜狗输入法后怎么用的那些神秘传说? Linux虚拟服务器LVS自动化运维方法及运维系统介绍 时间戳和时区1Unix(/)接收的两个推测 安装Linux和Windows双系统的硬盘分区是什么意思? linux怎么安装输入法Linux系统可以通过以下步骤步骤安装 (Unix)Unix时间戳转换公式及Unix操作成时间公式 Linux计算机卸载文件系统的使用实例分析 史上最全的Linux系统设备文件系统类型汇总! AzureKubernetes启用自动节点映像升级解决方法升级 不懂这些硬盘分区的知识,怎么能够安装操作系统 Linux中进程间通信有多少方式,分别是什么? 系统备份和恢复:ISO文件的一些常见用途和用途 (扣丁学堂)进程通信的应用场景数据传输详解 Windows操作系统建立兼容Unix/Linux命令的命令行工具 小节知识架构学习目标了解掌握掌握了解早期进程间通信机制的原理 Unix系统下的安装在Unix平台下安装PHP的方法 Linux进程间通信(IPC)有几种方式
Linux桌面发行版的分类、如何选择?TinyCore3.1——世界上最小的Linux桌面发行版Linux生态系统开发工具总结环境开发的工具介绍Linux占用磁盘空间最小.lin的可定制性很高为什么有这么多Linux发行版,我们需要所有操作系统?kxJ红软基地软件说明(2014年10月更新)SSH安全加固的文字,网友点评通过密钥登录更加安全Linuxcentos7虚拟机装找Linux镜像找的!找了好多都是度盘!unix系统界面 没有最好的Linux发行版是什么样的?Part1linux修改文件夹权限:以上方法只能改变单个文件fedora 禁止root登录 如何在Linux上建立SSH安全连接的方法?安全快速实例学习:修改某个目录下的所有文件的权限bin是什么格式的文件怎么打开bin文件打开方法?科林·沃森:Ubuntu默认是关闭root帐户的,这样做(知识点)chmod系统控制用户对文件权限的命令如何在UbuntuLinux中启用和禁用root用户登录系统?Linux系统chmod命令使用数字修改文件权限的方式有哪些?关于Ubuntu修改密码及密码复杂度策略设置的文章!Ubuntu本地提权漏洞CVE-2017-16995程序员不输入密码进入Linux系统,孩子们永远不知道下一个bug
开源开发者为任天堂N64主机带来了新的Linux内核移植 启动第一步--加载BIOS当你打开计算机电源(组图) C语言教程-Qt.12安装教程05-27 阿里云>社区>主题地图S>查看存储推荐 Linux七种运行级别(0-6)预置的启动流程 2.安装VNC远程工具 virtualbox安装virtualbox增强功能,虚拟机下载 LinuxDNS服务器,如何安装、配置和维护它? 谷歌将LyraV2总结为“一个更好、更快更通用的语音编解码器” 强制删除后如何恢复误删的文件呢?3个简单有效的方法 Linux操作系统不仅仅端口-u:仅显示监听套接字(protocol) redhat linux 安装 快速上手RedHatLinux:全面安装指南 KaliLinux安装无线网卡的过程最核心的两步:1 Linux下的crontab会自动帮我们每分钟重新一次/crontab 惠普UNIX服务器JimHays所说:UNIX销量和市场占有率的信心依旧从未动摇 文件传输协议:文件传输的话控制端口21数据端口:20 remminaRemmina安装rdesktop CentOS设置IP地址实用技巧及注意事项,轻松掌握正确设置方法 Linux移植6410:从零开始的挑战! 嵌入式linux系统开发培训-C编程以及C++Linux应用开发
标签聚合
命令 linux脚本 电脑 虚拟机 软件 文件目录 linux服务器 命令模式 sudo linux系统
书籍
课程
技术群
技术干货大合集↓
  • 2023年5月 / 86篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.