LinuxGod

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

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

2023年4月12日 283点热度

在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大神网

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

最新 热点 随机
最新 热点 随机
Grafana常见的配置选项及常见配置文件介绍-苏州安嘉 开机流程:(BasicInputOutputSystem)基本输入输出系统 (知识点)LinuxGCC的使用方法及汇总 bash和rc有什么区别?文件描述文件问题 (Linux基础知识)定期自动运行程序Linux的基本操作 嵌入式Linux驱动学习笔记01-Ubuntu系统入门教程01 虚拟机模拟分布式结构的安装步骤和安装方法 Linux实现开机自定义的系统服务开机程序主要有两种方法 snap软件包的应用程序之间的依赖问题是什么? (Linux基础知识)Linux自主招生常见问题及解决办法 unix网络编程百度云 Python:为什么要学Python? Linux基础知识:启动脚本文件系统的应用程序分析方法 DockerDesktop与Ubuntu20.04WSL集成时出现异常怎么办? Linux中的cd内置命令和外部命令是怎样的? 如何安装AndroidSDK?studio告诉你怎么安装的方法 Linux系统中的pwd命令的基本使用方法和常见选项 关于Linux内核的驱动源码详解-回答 《UNIX网络编程(第三版)》 库:多线程启动定时器的操作封装数据共享 谷歌公布AndroidStudio能让开发者更快更有生产力
Ubuntu如何修改GRUB启动项本篇博客的实验环境为Ubuntu18.04环境如何使用Linux操作系统用户通过验证插件映射MySQL内的账号LFCS系列第十三讲:配置并排除Grub引导加载程序linux mint安装chrome 关于LinuxMint的一些常见问题及解决办法虚拟机centos上安装vsftp软件的步骤记录如下!linux内核是用什么写的Linux常用的编译工具?集思广益错误或其他配置方案会进行更新linux版本信息 wouldtheinstallation系列和XWindow系列系列系列lrzsz服务器使用命令在线安装使用rz命令本地linux服务器80端口无法访问问题解决可以依次从上往下排查虚拟存储器的操作系统课程,你了解多少?Linux操作系统内核的启动过程及使用者有所启迪HDFS分布式文件系统的设计目标是什么?生态系统上海会计培训-如何获取日期字符串的时间戳?Android应用程序框架篇(2017年9月1日)Linux系统的优化调优策略:优化的分区策略Linux/Unix社区的版块不热闹,高手太忙,偶把自己这几年的Linux学习过程讲讲教程讨论Excel中日期和Unix时间戳之间的转换发车!Linux进程的内存分布长什么样?从服务器获取数据中的时间戳格式的java方法
教你在XShell软件中使用sz和rz命令下载和上传文件 小白在阿里云云服务器上如何发布自己的网站(建站|详细) Linux下可执行程序执行时内存是什么状态,linux下内存管理 基于嵌入式��闹悄苁只�长沙理工大学 知一能量linux查看系统信息命令是linux初学者必备的基础知识 告诉我们哪个Linux发行版对游戏支持的**.. linux下mysql中可以使用REVOKE语句来删除某个用户的权限 Linux之Ubuntu一图形桌面与命令行模式相关切换到命令行 9种方法轻松获取Linux版本,快速掌握系统信息! Linux上创建WindowsUSB很困难的工具是什么?怎么办? Linux下的文件系统在Windows下,打开“计算机”? 如何实现局域网内的文件夹共享?全面详细详细地向 转到程序的开始(地址0)Demo程序 Ubuntu和其他Linux中安装最新的LibreOffice版本的快速指南 linux系统怎么在文件夹里搜索文件?方法总结及方法 不同版本的内核源码下载页面介绍:主线版(mainline) 在Linux上安装和卸载软件的几种方法,你知道吗? Windows远程连接工具、Ubuntu系统的安装软件及系统 五个非常好的Linux分区管理器包括图形界面和文本界面 Linux开机自动运行设置
标签聚合
操作 命令 内核 应用 文件目录 linux服务器 软件 虚拟机 文件 linux系统
书籍
课程
技术群
技术干货大合集↓
  • 2023年11月 / 83篇
  • 2023年10月 / 94篇
  • 2023年9月 / 90篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 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 © 2024 linuxgod.net ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang