linux 运行段错误,在linux下代码运行出现段错误,求大神
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#define PATH1 "/proc/meminfo"
#define PATH2 "/proc/cpuinfo"
#define PATH3 "/proc/version"
#define PATH4 "/proc/bus/usb/devices"
struct Mem
{
char *n;
int data;
};
void Exit()
{
exit(1);
}
char* montage(char *a, char *b) {
char *temp = malloc(strlen(a) + strlen(b) + 1);
if (temp == NULL)
exit(1);
strcpy(temp, a);
strcat(temp, b);
return temp;
}
void ShowCpuInfo()
{
FILE *fp;
int n;
char c;
char filename[] = PATH2;
if((fp = fopen(filename,"r")) == NULL)
{
printf("cannot open file %s.\n",filename);
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
putchar(c);
}
printf("\n");
fclose(fp);
printf("请输入0返回主菜单\n");
scanf("%d",&n);
if(n==0)
{ system("clear");
main();
}
}
void ShowBusInfo()
{
FILE *fp;
int n;
char c;
char filename[] = PATH4;
if((fp = fopen(filename,"r")) == NULL)
{
printf("cannot open file %s.\n",filename);
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
putchar(c);
}
printf("\n");
fclose(fp);
printf("请输入0返回主菜单\n");
scanf("%d",&n);
if(n==0)
{
system("clear");
main();
}
}
void ShowSoftwareInfo()
{
FILE *fp;
int n;
char c;
char filename[] = PATH3;
if((fp = fopen(filename,"r")) == NULL)
{
printf("cannot open file %s.\n",filename);
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
putchar(c);
}
printf("\n");
fclose(fp);
printf("请输入0返回主菜单\n");
scanf("%d",&n);
if(n==0)
{
system("clear");
main();
}
}
void MonitoringSystem(struct Mem mem[])
{
FILE *fp;
int n;
int mem_total=-1;
char name[100];
char data[30][100];
int m=0;
char filename[] = PATH1;
if((fp = fopen(filename,"r")) == NULL)
{
printf("cannot open file %s.\n",filename);
exit(1);
}
for(m=0;m<30;m++)
{
fgets(data[m],sizeof(data[m]),fp);
}
fclose(fp);
for(m=0;m<30;m++)
{
sscanf(data[m],"%s%d",name,&mem_total);
mem[m].data=mem_total;
mem[m].n=name;
}
printf("\n");
fclose(fp);
printf("请输入0返回主菜单\n");
scanf("%d",&n);
if(n==0)
{
system("clear");
main();
}
}
void MonitoringProcess()
{
FILE *fp;
char *p;
char c;
int n;
char pid[20];
printf("请输入要查看的进程号:");
scanf("%s",pid);
p = malloc(sizeof(char));
p="/";
/*p=join(p,"/");*/
p=montage(p,"proc");
p=montage(p,"/");
p=montage(p,pid);
p=montage(p,"/");
p = montage(p,"status.txt");
if((fp = fopen(p, "r")) == NULL)
{
printf("cannot open file %s.\n",p);
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
putchar(c);
}
printf("\n");
fclose(fp);
printf("请输入0返回主菜单\n");
scanf("%d",&n);
if(n==0)
{
system("clear");
main();
}
}
int main()
{
int a;
struct Mem mem[30];
printf("\n****************系统信息显示与检测*****************\n");
printf("\n 1.显示cpu信息\n");
printf(" 2.显示bus信息\n");
printf(" 3.显示软件信息\n");
printf(" 4.监测系统内存信息\n");
printf(" 5.监测进程内存信息\n");
printf(" 0.退出\n");
printf("\n*****************************************************\n");
scanf("%d",&a);
switch(a)
{
case 1:ShowCpuInfo();break;
case 2:ShowBusInfo();break;
case 3:ShowSoftwareInfo();break;
case 4:MonitoringSystem(mem);
printf(" Total\n");
printf("Mem: %d\n",mem[1].data);
printf("Swap: %d\n",mem[2].data);
printf("MemTotal: %d kB\n",mem[3].data);
printf("MemFree: %d kB\n",mem[4].data);
printf("MemShared: %d kB\n",mem[5].data);
printf("Buffers: %d kB\n",mem[6].data);
printf("Cached: %d kB\n",mem[7].data);
printf("SwapCached: %d kB\n",mem[8].data);
break;
case 5:MonitoringProcess();break;
case 0:Exit();break;
}
}
linux 运行段错误,在linux下代码运行出现段错误,求大神相关推荐
- python3.7 buildroot numpy错误_遇到python3.7版本下pyinstaller打包无限出错,求大神指导...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C:\Users\fsl\Desktop>python 1.py hello word (程序运行没有任何错误,然后打包) C:\Users\fsl ...
- 郝斌c语言视频错误的在哪里,根据郝斌C语言视频学的解简单一元二次方程的代码总是敲错,求大神帮忙看看...
满意答案 cdqlhh000 推荐于 2016.02.23 采纳率:50% 等级:7 已帮助:107人 # include # include int main(void) { //把三个系数保 ...
- 软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽。
软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽. 图片说明 最佳答案: 专家已采纳 先用c等调用一下so,看函数能否正确调用 文章来源:https://ask.csdn ...
- linux系统nginx启动不了,nginx启动不了,求大神帮助!
服务器挂了,折腾半天Nginx都起不来,不知道咋回事,本人小白用户,求大神帮帮忙! # nginx -t nginx: the configuration file /usr/local/nginx/ ...
- python代码运行助手是什么业务_python代码运行助手怎么使用()
python代码运行助手怎么使用 #/usr/bin/env python3 # -*- coding: utf-8 -*- r''' learning.py A Python 3 tutorial ...
- java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...
Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...
- 这是一段有毒的js代码,求大神解释!!!
这是一段有毒的js代码,感兴趣的同学可以试一试,求大神解释!!! function lock() {while (true); } function nullFunction() {}alert(nu ...
- http.client.InvalidURL: nonnumeric port: 'yourport' 运行报错 求大神指点。。。。。。实在是不知道怎么弄了
@(http.client.InvalidURL: nonnumeric port: 'yourport' 运行报错 求大神指点......实在是不知道怎么弄了) import numpy as np ...
- java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...
java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改) 关注:223 答案:4 mip版 解决时间 2021-01-26 22:09 提问者非莪莫属 2021-01 ...
- android chrome无法运行,Android 测试 Chrome 浏览器能正常启动 Chrome 浏览器,但是不能进行操作,求大神!!...
chrome 能在 android 手机上启动 但是就是不能打开网站.或者操作 chrome 里面的按钮.求大神帮忙看下 ,万分感谢. 代码 : private AppiumDriver ab =nu ...
最新文章
- datatable自动增加序号
- Windows下配置scrapy需要MVC的14.0版本(转载)
- 别人家的爸爸!为了解释区块链,阿里工程师给儿子画了一本童话书
- 客户端代码压缩成zip和服务器开启gzip
- 深入理解Hadoop集群和网络
- 运维中心建设--服务台建设一期
- 【数据竞赛】席卷Kaggle的调参神器,NN和树模型通吃!
- java中类型的相互转化_Java中的数据类型及相互转换方法
- nyoj 寻找最大数
- 奇奇seo优化软件_西藏seo关键词优化软件
- jquery-表格的增删编辑演练-有一个小bug的
- 【MySQL】MySQL 查询优化器的提示(hint)
- pyplot.annatate
- 如何将c语言编译器设置为初始状态,C语言编译器设与实现毕业论文设计.doc
- DEV 实现CheckBox单选
- wd移动硬盘测试软件,西数硬盘修复工具(WD HDD Repair Tools)
- android长度测量工具,手机测量尺子工具
- 零信任嵌入式安全沙箱技术,企业应用软件的技术底座
- C语言实现文件分割功能
- npm install 报错 Failed at the XXX install script
热门文章
- 程序员的算法课(13)-分治法
- html相对位置置顶,css定位(position)属性怎么用?
- php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决
- 宝塔linux网络连接错误,宝塔linux面板部署防火墙后网页打不开报http564错误的解决办法...
- SpringBoot2.0.3 + SpringSecurity5.0.6 + vue 前后端分离认证授权
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListene解决办法
- 知方可补不足~sqlserver中使用sp_who查看sql的进程
- C/C++基础(不断更新)
- Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中
- 学习需要用心 规划和落实