推荐 最新
JayCoder

阿里云主机监控可以导出结果吗?

公司使用一个阿里云账号监控30多台服务器的CPU,磁盘,内存的运行情况, 使用的是阿里云自带的agent, 现在查看监控结果只能在阿里云控制台查看, 但是想要将所有服务器的运行情况做一个汇总和分析, 应该怎么获取到监控的结果, 控制台只能查看, 不能导出, 也不好复制出来, 彦祖们有什么想法和建议吗?

18
1
0
浏览量298
萌蒙萌

C语言文件输出后多出好多0?

include include include include define MEDICINE_FILE "medicine.txt" //药品文件名 typedef struct medicine { char drug_name[100]; //药品名 int drug_number; //药品编号 int price; //售价 int num; //药品剩余数量 } medicine; struct med { medicine medicine_array[500]; //存放药品的数组 int size; //数组已使用的大小 } med; //与药品操作相关函数 void showMenu(); //打印菜单 void read_medicine_file(); //从文件中读入药品信息 void add_medicine(); //添加药品信息 void show_medicine(); //查看所有药品信息 void drug_name_del(); //按名称删除药品信息 void drug_number_revise(); //按编号修改药品信息 int drug_number_find(int num); //按编号查找药品信息,返回下标 void show_drug_number_find(); //输出查找到的药品信息 int drug_name_find(char *name); //按姓名查找药品信息,返回下标 void show_drug_name_find(); //按姓名查找药品信息,并将药品信息输出 void save_medicine(); //保存药品信息到文件 int main(int argc, char *argv[]) { int select = 15; read_medicine_file(); //读取文件中药品的信息 while (1) { showMenu(); //打印菜单 while (scanf("%d", &select) != 1 || select 10) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); //将输入缓冲中所有数据丢弃 } switch (select) { case 0: //退出程序 exit(0); break; case 1: //添加药品信息 add_medicine(); break; case 2: //查看所有药品信息 show_medicine(); break; case 3: //按名称删除药品信息 drug_name_del(); break; case 4: //按编号修改药品信息 drug_number_revise(); break; case 5: //按编号查找药品信息,并将药品信息输出 show_drug_number_find(); break; case 6: //按名称查找药品信息,并将药品信息输出 show_drug_name_find(); break; } } return 0; } //打印菜单 void showMenu() { printf("-----------欢迎来到药房管理系统------------\n"); printf("-------------------------------------------\n"); printf("请输入你要选择的编号:\n"); printf("1、添加药品信息\n"); printf("2、查看所有药品信息\n"); printf("3、按名称删除药品信息\n"); printf("4、按编号修改药品信息\n"); printf("5、按编号查找药品信息\n"); printf("6、按姓名查找药品信息\n"); printf("0、退出本系统\n"); printf("-------------------------------------------\n"); } //从文件中读入药品信息 void read_medicine_file() { FILE *fp = fopen(MEDICINE_FILE, "r"); if (fp == NULL) { med.size = 0; memset(&med.medicine_array, 0, sizeof(med.medicine_array)); } else { while (fscanf(fp, "%s %d %d %d", med.medicine_array[med.size].drug_name, &med.medicine_array[med.size].drug_number, &med.medicine_array[med.size].price, &med.medicine_array[med.size].num) != EOF) { med.size++; } } fclose(fp); } //添加药品信息 void add_medicine() { int flag = 0; int num; //保存编号用于去重 printf("请输入你要添加的药品的数量\n"); int n, i; while (scanf("%d", &n) != 1 || n < 0) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); } for (i = 0; i < n; ++i) { printf("第%d个药品的信息\n", i + 1); printf("--------------------\n"); printf("请输入药品姓名\n"); scanf("%s", med.medicine_array[med.size].drug_name); printf("请输入药品编号\n"); med.medicine_array[med.size].drug_number = 0; do { while (scanf("%d", &num) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } int ret = drug_number_find(num); if (ret != -1) { printf("该编号已经存在,请重新输入\n"); } else { med.medicine_array[med.size].drug_number = num; break; } } while (1); printf("请输入药品售价\n"); while (scanf("%d", &med.medicine_array[med.size].price) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } printf("请输入药品数量\n"); while (scanf("%d", &med.medicine_array[med.size].num) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } flag = 1; med.size++; } if (flag == 1) save_medicine(); //保存到文件 } //查看所有药品信息 void show_medicine() { int i; for (i = 0; i < med.size; ++i) { printf("%s\t\t\t%d\t\t\t%d\t\t\t%d\n", med.medicine_array[i].drug_name, med.medicine_array[i].drug_number, med.medicine_array[i].price, med.medicine_array[i].num); } } //按姓名删除药品信息 void drug_name_del() { int flag = 0; int i, j, n; char name[100]; printf("请输入你要删除的药品数量\n"); while (scanf("%d", &n) != 1 || n < 0) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); } for (i = 0; i < n; ++i) { printf("第%d个药品的姓名\n", i + 1); printf("--------------------\n"); printf("请输入要删除的药品姓名\n"); scanf("%s", name); int ret = drug_name_find(name); if (ret != -1) { flag = 1; printf("删除成功,删除的信息为\n"); printf("%s\t\t\t%d\t\t\t%d\t\t\t%d\n", med.medicine_array[ret].drug_name, med.medicine_array[ret].drug_number, med.medicine_array[ret].price, med.medicine_array[ret].num); for (j = ret; j < med.size - 1; j++) { med.medicine_array[j] = med.medicine_array[j + 1]; } med.size--; } else { printf("未找到该药品,删除失败\n"); } } if (flag == 1) save_medicine(); } //按编号修改药品信息 void drug_number_revise() { int flag = 0; int i, j, n, number; //保存要修改的编号 int num; //保存新编号,用于去重 printf("请输入你要修改的药品数量\n"); while (scanf("%d", &n) != 1 || n < 0) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); } for (i = 0; i < n; ++i) { printf("第%d个药品的编号\n", i + 1); printf("--------------------\n"); printf("请输入要修改的药品编号\n"); while (scanf("%d", &number) != 1) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); } int ret = drug_number_find(number); if (ret != -1) { flag = 1; printf("找到该编号的药品,该药品信息为\n"); printf("%s\t\t\t%d\t\t\t%d\t\t\t%d\n", med.medicine_array[ret].drug_name, med.medicine_array[ret].drug_number, med.medicine_array[ret].price, med.medicine_array[ret].num); printf("请输入新信息\n"); printf("请输入药品新姓名\n"); scanf("%s", med.medicine_array[ret].drug_name); printf("请输入药品编号\n"); med.medicine_array[ret].drug_number = -1; //将该药品编号改为-1防止新输入的编号和当前编号相同,导致无法成功输入该编号 do { while (scanf("%d", &num) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } int res = drug_number_find(num); if (res != -1) { printf("该编号已经存在,请重新输入\n"); } else { med.medicine_array[ret].drug_number = num; break; } } while (1); printf("请输入药品售价\n"); while (scanf("%d", &med.medicine_array[ret].price) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } printf("请输入药品数量\n"); while (scanf("%d", &med.medicine_array[ret].num) != 1) { printf("输入有误,请重新输入!\n"); scanf("%*[^\n]%*c"); } printf("修改成功!\n"); } else { printf("未找到该编号的药品\n"); } } if (flag == 1) save_medicine(); } //按编号查找药品信息,返回下标 int drug_number_find(int number) { int i; for (i = 0; i < med.size; ++i) { if (number == med.medicine_array[i].drug_number) { return i; } } return -1; } //输出查找到的药品信息 void show_drug_number_find() { int number; printf("请输入要查找的编号编号\n"); while (scanf("%d", &number) != 1) { printf("输入有误,请重新输入\n"); scanf("%*[^\n]%*c"); } int ret = drug_number_find(number); if (ret == -1) { printf("未找到\n"); } else { printf("找到了,信息为\n"); printf("%s\t\t\t%d\t\t\t%d\t\t\t%d\n", med.medicine_array[ret].drug_name, med.medicine_array[ret].drug_number, med.medicine_array[ret].price, med.medicine_array[ret].num); } } //按姓名查找药品信息 int drug_name_find(char *name) { int i; for (i = 0; i < med.size; ++i) { if (strcmp(name, med.medicine_array[i].drug_name) == 0) return i; } return -1; } //按姓名查找药品信息,并将药品信息输出 void show_drug_name_find() { char name[100]; printf("请输入你要查找的药品姓名\n"); scanf("%s", name); int ret = drug_name_find(name); if (ret == -1) { printf("未找到\n"); } else { printf("找到了,药品信息为\n"); printf("%s\t\t\t%d\t\t\t%d\t\t\t%d\n", med.medicine_array[ret].drug_name, med.medicine_array[ret].drug_number, med.medicine_array[ret].price, med.medicine_array[ret].num); } } //保存药品信息到文件 void save_medicine() { int i; FILE *fp = fopen(MEDICINE_FILE, "w"); if (fp == NULL) { return; } for (i = 0; i < med.size; ++i) { fprintf(fp, "%s %d %d %d\n", med.medicine_array[i].drug_name, med.medicine_array[i].drug_number, med.medicine_array[i].price, med.medicine_array[i].num); } fclose(fp); } 文件格式 999感冒灵 1 14.9 200 氯雷他定片 2 65.0 150 肠炎宁片 3 28.0 150 布洛芬胶囊 4 29.8 230 板蓝根颗粒 5 23.8 300 不知道为什么输出总是有问题,文件里的内容输出了,但是多出好多0,格式也有问题,希望各位大佬帮帮忙

13
1
0
浏览量389
代码大师

数字版权管理(DRM)是如何保证安全的?

DRM 是给源文件加密,通过密钥解密播放。 那么在客户端就会有文件+密钥,既然客户端能解密,那么所有人都能解密,不就不安全了吗?所以他是如何保证安全的。 是不是可以通过转录,比如说 Web mediaSource 之类的东西直接把解密后的就存了?

15
1
0
浏览量275
我爱上班

vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?

vs2022中编写了一个c语言程序,但是出现断言问题 **但是我又没有设置断言所报错误的变量,所以想请问一下该怎么解决!或者说我该怎么去debug这个错误,但是我的程序又能正常运行,就很奇怪,虽然它是报了断言的错误的程序。我是大概知道他是某个依赖的,但是我所写的这个代码是一个简版词法分析程序,大概分两部分,然后我在不同的文件写了这两个部分,然后合在一起便触发了断言,所以暂且不知道是哪个报得,所有我描述的详细一点,就是指条路让我好去debug "所报断言" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/fbfbedd55692f796c62beba4b05fb10c.png) 打开debug看了堆栈,但是跳出来的是库,然后报错,没有跳转到我写的代码,还是不知道我哪个函数传的值不符合他的规范。就只知道c的值不符合,可以我调用的哪个函数传的值是他这个。 "堆栈所显示的" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/8216966a8df011157d703f3225bf633a.png) "断言" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/a34c36f7c7437a41fe2ccf60b5857250.png) "堆损坏" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/2eadb5ba776fed3a233ef28a6e7549a9.png) "传入文件的内容" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/f0ba86359eb87bceade6633e2dc33101.png) "判断字符/实现简单词法分析" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/111523f608fbb22f884d2e3ef0cd1d29.png)

10
1
0
浏览量229
silennn

Typescript - Type alias 'T' circularly references itself?

type Children = { children: Record } type TPartial = { info: string } // Error: Type alias 'TRequired' circularly references itself. type TRequired = { id: string } & Children // Error: Type alias 'T' circularly references itself. type T = Partial & AtLeastOne // 至少包含一个属性 type AtLeastOne = K extends unknown ? Pick & Partial> : never; 但是这样写就没有问题: type TPartial = { info: string } type TRequired = { id: string } & { children: Record } type T = Partial & AtLeastOne "type Children" 是一个通用的工具类型,但是有些地方可以写,有些地方就会报循环引用。如果我有些地方写 "Children" 有些地方写 "{ children: T }" 那还不如不要这个类型。有没有类型体操高手救救我?

4
1
0
浏览量171
木子弓长

各位都在使用什么技能?八仙过海?

所谓看高手操作,总能学其一二。各位大侠来点的奇淫技巧~

0
1
0
浏览量207
MastFancy

怎么把图片传到 github 并在 README.md 引用显示?

怎么把图片传到 github 并在 README.md 引用显示? "https://github.com/BartoszJarocki/cv/blob/main/README.md?plain=1" (https://link.segmentfault.com/?enc=Go0OOCc%2FMwHHrh%2BSLM2ejA%3D%3D.EqCVPwHwneX2iHmIU1VBmE%2BVQl3dXoNqgkSq6dVC%2FP81%2FIQEUjYUdoro%2B9yhe20B39wh2tnjELc7wOEgEG%2FdNas8kCsfF4os190xst1cttk%3D) "图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/52c4db70cadd03341f1a050993882fb2.png) "![cv](https://github.com/BartoszJarocki/cv/assets/1017620/79bdb9fc-0b20-4d2c-aafe-0526ad4a71d2)" 比如这个地址,图片是怎么传到这个地址的?github 提供了面向用户的图片托管服务吗? *** 肯定不能把图片放到仓库本身,这样会导致仓库体积膨胀(不考虑 git lfs 这些)

0
1
0
浏览量215
博学的学渣

遇到一道设计模式的面试题,各位大佬看下如何解决,题目要求是优化这段业务代码?

遇到一道设计模式的面试题,各位大佬看下如何解决,题目要求是优化这段业务代码 条件是布尔值或者函数返回值,cb 是函数 function runTask() { if(条件A){ cbA() if(条件B){ cbB() } } if(条件C){ cbC() if(条件D){ cbD() } } }

0
1
0
浏览量227
庆广大

如何判断一个网站无法访问的原因?

如果有一个网站无法访问,假设原因可能只有两个,一个是被墙了,一个是网站本身不让墙内的人用。 有什么方法可以判断是哪一个原因造成的?

0
1
0
浏览量204
三千米的偷感

软考证书对web前端工程师意义如何?

32岁在二三线城市做前端已经快6年了,目前没有打算更换职业。 想问下必要去参加软考吗?软考证书对前端职业意义大吗?

0
1
0
浏览量184