当前位置: 首页 > news >正文

c语言经典100例

1.字符串转为数字

#include <stdio.h>int strToInt(char *s)
{int num=0;int sign=1;int step=1;if (*s == '-'){sign = -1;s++;}while (*s >= '0'&&*s <= '9'){num = num*10+(*s-'0');step += 10;s++;}return num*sign;
}int main()
{char a[10] = "-1234";char *s =a ;printf("字符型:%s,整形:%d",s,strToInt(s));return 0;
}

2.二维字符数组转一维数组

#include <stdio.h>
#include <stdlib.h>int main()
{char a[3][3] = { 'w','w','w','a','a','a','l','l','l'};char n[10] = "";for (int i = 0,m=0; i < 3; ++i){for (int j = 0; j < 3; ++j){printf("%c",a[i][j]);n[m] = a[i][j];m++;}printf("\n");}n[9] = '\0';printf("%s\n",n);return 0;
}

3.数字转换为字符串

#include <stdio.h>void intToString(int num, char *str) {int i = 0;int isNegative = 0;// 处理负数if (num < 0) {isNegative = 1;num = -num; // 将负数转为正数}// 转换整数为字符串do {str[i++] = (num % 10) + '0'; // 获取当前数字并转换为字符num /= 10; // 去掉当前的最后一位数字} while (num > 0);// 如果是负数,添加负号if (isNegative) {str[i++] = '-';}// 添加字符串结束符str[i] = '\0';// 反转字符串for (int j = 0; j < i / 2; j++) {char temp = str[j];str[j] = str[i - j - 1];str[i - j - 1] = temp;}
}int main() {int number = -12345; // 示例整数char str[20]; // 确保足够大以存放转换结果intToString(number, str); // 调用转换函数printf("整数转换的字符串为:%s\n", str); // 输出结果return 0;
}

4.统计一行字符串中单词的个数

#include <stdio.h>int main()
{char a[] = "hello world   my man!";char *pa = a;int count = 0;int inWord = 0; // 用于跟踪是否在单词内部while (*pa != '\0') // 直到字符串的结尾{if (*pa == ' ' || *pa == '\t' || *pa == '\n') // 如果是空格、制表符或换行符{inWord = 0; // 不在单词内部}else{if (inWord == 0) // 进入一个新单词{count++;inWord = 1; // 现在在单词内部}}pa++; // 移动到下一个字符}printf("单词的数量为:%d\n", count);return 0;
}

5.删除数组中相同的数

#include <stdio.h>
#include <stdlib.h>void del(int *a, int size) {int *temp = (int*)malloc(size * sizeof(int)); // 临时数组,用于存储去重后的结果int pre = 0;int rear = 1;int j = 0;// 第一个元素肯定是要保留的temp[j++] = a[pre];// 遍历数组while (rear < size) {if (a[pre] != a[rear]) { // 如果当前元素和前一个元素不同temp[j++] = a[rear]; // 保存不重复的元素pre = rear;          // 更新前指针}rear++; // 后指针继续前进}// 输出去重后的数组printf("去重后的数组: ");for (int i = 0; i < j; i++) {printf("%d ", temp[i]);}printf("\n");free(temp); // 释放动态分配的内存
}int main() {int a[] = {1, 1, 1, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9};int size = sizeof(a) / sizeof(a[0]); // 计算数组大小del(a, size); // 调用函数删除重复元素return 0;
}

6.移动字符串中的内容

#include <stdio.h>void moveBack(int m, char *p)
{char temp[24];  // 临时数组用于保存前 m 个字符int n = 0;      // 用于计算字符串长度// 手动计算字符串长度while (p[n] != '\0') {n++;}if (m > n) m = n;  // 确保 m 不会大于字符串的长度// 复制前 m 个字符到 temp 中for (int i = 0; i < m; ++i) {temp[i] = p[i];}// 将后面的字符向前移动for (int i = m; i < n; ++i) {p[i - m] = p[i];}// 将 temp 中的前 m 个字符放到末尾for (int i = 0; i < m; ++i) {p[n - m + i] = temp[i];}// 重新设置字符串的结尾p[n] = '\0';
}int main() {char str[] = "world hello ";printf("前:%s\n", str);moveBack(6, str);printf("后:%s\n", str);return 0;
}

7.无符号整数去掉最高位

#include <stdio.h>unsigned int fun(unsigned int a)
{int b=1;int temp = a;while (temp/10>=10){b *= 10;temp /= 10;}b=b *10;a=a%b;return a;
}int main() {printf("%d", fun(7894));return 0;
}

8.打印下三角

#include <stdio.h>void xiasanjiao(int a[4][4])
{for (int i=0;i<4;++i){for (int j=0; j <=i ; ++j){printf("%d ",a[i][j]);}printf("\n");}}int main()
{int a[4][4] = {8,0,0,0,8,8,0,0,8,8,8,0,8,8,8,8};for (int i = 0; i < 4; ++i){for (int j = 0; j <4; ++j){printf("%d ", a[i][j]);}printf("\n");}printf("下三角:\n");xiasanjiao(a);return 0;
}

9.移动数组中的内容

#include <stdio.h>void moveBack(int a[10], int m) {int b[10] = { 0 };// 复制前 m 个元素到 bfor (int i = 0; i < m; ++i) {b[i] = a[i];}// 将后面的元素向前移动 m 位for (int i = m; i < 10; ++i) {a[i - m] = a[i];}// 将 b 中的元素放到数组的后 m 位for (int i = 0; i < m; ++i) {a[10 - m + i] = b[i];}
}int main() {int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };moveBack(a, 3);for (int i = 0; i < 10; ++i) {printf("%d ", a[i]);}return 0;
}

10.删除字符串中的空格

#include <stdio.h>void delSpace(char* a) {char* original = a; // 保存原始字符串指针char* result = a;   // 用于存储处理后的结果// 遍历原始字符串while (*a != '\0') {if (*a != ' ' && *a != '\t') { // 只复制非空格和非制表符字符*result++ = *a; // 复制字符到结果字符串}a++;}*result = '\0'; // 添加字符串结束符
}int main() {char a[] = "h  iph  o p";delSpace(a);printf("%s\n", a); // 打印处理后的字符串return 0;
}

11.字符串是否回文

#include <stdio.h>int huiwen(char* a) {int count=0;while (a[count] != '\0') {count++;}for (int i=0;i<count/2;++i){if (a[i] != a[count - i-1])return 0;}return 1;
}int main() {char a[] = "hiphop";printf("%d\n", huiwen(a)); // 打印处理后的字符串return 0;
}

12.找出链表中的最大值

#include <stdio.h>typedef struct stu {int data;struct stu *next;
} Student;// 查找链表中的最大值
int findMax(Student* h) {if (h == NULL) {return -1;  // 如果链表为空,返回特殊值 -1 表示无数据}int max = h->data;  // 假设第一个节点的数据为最大值Student *current = h->next;// 遍历链表while (current != NULL) {if (current->data > max) {max = current->data;  // 更新最大值}current = current->next;  // 移动到下一个节点}return max;
}int main() {// 创建链表节点Student s1, s2, s3;Student* h;s1.data = 120;s2.data = 130;s3.data = 140;// 设置链表指针h = &s1;s1.next = &s2;s2.next = &s3;s3.next = NULL;  // 最后一个节点的 next 为 NULL// 查找链表中的最大值并打印printf("链表中的最大值是: %d\n", findMax(h));return 0;
}

13.字符按ASCII码表排序

#include <stdio.h>// 手动计算字符串长度的函数
int my_strlen(char *str) {int len = 0;while (str[len] != '\0') {len++;}return len;
}// 排序中间字符的函数(降序)
void sort_desc(char *arr, int len) {for (int i = 0; i < len - 1; i++) {for (int j = i + 1; j < len; j++) {if (arr[i] < arr[j]) {// 交换字符char temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}
}void fun(char str[]) {// 手动获取字符串长度int len = my_strlen(str);// 确保字符串长度为7if (len != 7) {printf("字符串长度错误\n");return;}// 提取首尾字符char first = str[0];char last = str[6];// 提取中间5个字符到一个数组中char middle[6];  // 5个字符 + 1个终止符for (int i = 0; i < 5; i++) {middle[i] = str[i + 1];  // 从 str[1] 开始}middle[5] = '\0';  // 手动添加字符串结束符// 对中间字符进行按ASCII码降序排序sort_desc(middle, 5);// 输出结果:首字符 + 排序后的中间部分 + 尾字符printf("%c%s%c\n", first, middle, last);
}int main() {char str[] = "CEAedca";fun(str); // 调用函数进行排序return 0;
}

14.成绩表中挑出某分数段的人

#include <stdio.h>// 定义学生结构体
typedef struct {int id;    // 学号int score; // 成绩
} Student;// 函数 fun:筛选分数在指定范围内的学生,并返回人数
int fun(Student a[], int N, Student b[], int low, int high) {int count = 0; // 用于统计符合条件的学生人数// 遍历学生数组for (int i = 0; i < N; i++) {// 如果学生成绩在指定范围内(包含 low 和 high)if (a[i].score >= low && a[i].score <= high) {// 将该学生记录放入 b 数组中b[count] = a[i];count++; // 增加符合条件的学生数量}}// 返回符合条件的学生人数return count;
}int main() {// 假设有 5 个学生,主函数中已初始化Student a[5] = {{1, 55},{2, 65},{3, 70},{4, 66},{5, 60}};Student b[5]; // 用于存储符合条件的学生int low = 60; // 分数下限int high = 69; // 分数上限// 调用 fun 函数,筛选分数范围内的学生int count = fun(a, 5, b, low, high);// 输出符合条件的学生数据printf("符合分数范围 %d 到 %d 的学生有 %d 名:\n", low, high, count);for (int i = 0; i < count; i++) {printf("学号: %d, 成绩: %d\n", b[i].id, b[i].score);}return 0;
}

15.字符串中删除ASCII码为奇数的

#include <stdio.h>
#include <stdlib.h> // 包含 malloc 函数char *oushu(char *a) {int i = 0, count = 0;// 分配足够的内存,假设最多有16个偶数字符char *result = (char *)malloc(sizeof(char) * 16);// 遍历字符串,找到偶数ASCII码值的字符while (*a != '\0') {if (*a % 2 == 0) { // 判断是否为偶数ASCII字符result[count + 1] = *a; // 存储在result数组中count++;}a++;}// 第一个位置存储偶数字符的数量result[0] = count;return result;
}int main() {char a[] = "abcdef"; // 示例字符串// 调用函数获取偶数字符char *p = oushu(a);// 输出偶数字符for (int i = 1; i <= p[0]; ++i) {printf("%c\n", p[i]);}// 释放动态分配的内存free(p);return 0;
}

16.找出链表中的最小值(可能不止一个)

#include <stdio.h>typedef struct stu {int data;struct stu *next;
} Student;int findMin(Student* h) {if (h == NULL) {return -1;  }int min = h->data;  int count = 0;Student *current = h->next;// 遍历链表while (current != NULL) {if (current->data < min) {min = current->data;  }current = current->next;  }current = h;while (current != NULL) {if (current->data == min) {count++;}current = current->next;  // 移动到下一个节点}return count;
}int main() {// 创建链表节点Student s1, s2, s3;Student* h;s1.data = 120;s2.data = 120;s3.data = 120;// 设置链表指针h = &s1;s1.next = &s2;s2.next = &s3;s3.next = NULL;  printf("链表中的最小值是: %d\n", findMin(h));return 0;
}

17.字符串后移

#include <stdio.h>void fun(char *s) {int i = 0, j = 0;int star_count = 0;// 统计前导的 * 号数量while (s[i] != '\0') {if (s[i] == '*') {star_count++;}else {// 将非 * 的字符依次移动到最前面s[j++] = s[i];}i++;}// 在字符串的后面填充前导的 * 号while (star_count--) {s[j++] = '*';}// 添加字符串的结束符号s[j] = '\0';
}int main() {char str[] = "******A*BC*DEF*G***";printf("原字符串: %s\n", str);fun(str);printf("处理后字符串: %s\n", str);return 0;
}

18.删除指定位置的字符

#include <stdio.h>
#include <stdlib.h>char* fun(char *s1, char* s2, int n) {int i = 0, j = 0;n = n - 1;// 遍历字符串 s1while (s1[i] != '\0') {// 跳过第 n 个字符if (i == n) {i++;  // 跳过 s1 的第 n 个字符continue;}s2[j] = s1[i];  // 将字符从 s1 复制到 s2i++;j++;}s2[j] = '\0';  // 添加字符串结束符return s2;
}int main() {char str[] = "haiphop";char *str2 = (char*)malloc((sizeof(str)) * sizeof(char));if (str2 == NULL) {printf("内存分配失败!\n");return 1;}printf("原字符串: %s\n", str);fun(str, str2, 2);printf("处理后字符串: %s\n", str2);free(str2); return 0;
}

19.找出最长的字符串


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>void findLongestString(char *strings[], int count, char **max) {*max = strings[0];  // 默认第一个字符串为最长int maxLength = strlen(strings[0]);for (int i = 1; i < count; i++) {int currentLength = strlen(strings[i]);if (currentLength > maxLength) {maxLength = currentLength;*max = strings[i];  // 更新最长字符串}}
}int main() {char *strings[100];  // 假设最多输入100个字符串int count = 0;char *input;printf("请输入字符串(输入**结束):\n");while (1) {input = (char *)malloc(100 * sizeof(char)); // 分配内存存储输入字符串scanf("%s", input);if (strcmp(input, "**") == 0) {free(input); // 释放内存break; // 输入结束}strings[count++] = input; // 存储输入的字符串}char *longest;findLongestString(strings, count, &longest);printf("最长的字符串是:%s\n", longest);// 释放分配的内存for (int i = 0; i < count; i++) {free(strings[i]);}return 0;
}

20.阶乘

#include <stdio.h>int jiechen(int a)
{if (a == 1)return 1;return a * jiechen(a-1);
}int main() {printf("%d",jiechen(5));return 0;
}

21.移动零

void moveZeroes(int* nums, int numsSize) {int insertPos = 0;// 遍历数组,将非零元素按顺序放在数组前面for (int i = 0; i < numsSize; i++) {if (nums[i] != 0) {nums[insertPos] = nums[i];insertPos++;}}// 剩下的元素全部填为0for (int i = insertPos; i < numsSize; i++) {nums[i] = 0;}
}

22.无重复字符的最长子串

#include <stdio.h>
#include <string.h>int lengthOfLongestSubstring(char *s) {int n = strlen(s);int maxLength = 0;  // 记录最长子串的长度int left = 0;       // 滑动窗口的左指针int charIndex[256]; // 记录字符上次出现的位置,假设字符集为ASCII码// 初始化字符位置为-1,表示未出现过for (int i = 0; i < 256; i++) {charIndex[i] = -1;}for (int right = 0; right < n; right++) {// 如果字符已经在当前窗口中出现,更新左指针位置if (charIndex[(int)s[right]] >= left) {left = charIndex[(int)s[right]] + 1;}// 更新字符出现的位置charIndex[(int)s[right]] = right;// 计算当前无重复字符子串的长度,并更新最大长度int currentLength = right - left + 1;if (currentLength > maxLength) {maxLength = currentLength;}}return maxLength;
}int main() {char s[] = "abcabcbb";int result = lengthOfLongestSubstring(s);printf("The length of the longest substring without repeating characters is: %d\n", result);return 0;
}

23.kmp算法

#include <stdio.h>
#include <string.h>// 构建部分匹配表(即next数组)
void buildNext(char *pattern, int *next, int m) {int j = 0;next[0] = 0;  // 第一个元素的前缀长度为0for (int i = 1; i < m; i++) {// 当pattern[i]和pattern[j]不相等时,利用next数组回退while (j > 0 && pattern[i] != pattern[j]) {j = next[j - 1];}// 如果pattern[i]和pattern[j]相等,前缀长度加1if (pattern[i] == pattern[j]) {j++;}next[i] = j;}
}// KMP匹配过程
void kmpSearch(char *text, char *pattern) {int n = strlen(text);int m = strlen(pattern);int next[m];// 计算部分匹配表(next数组)buildNext(pattern, next, m);int j = 0;  // 模式串的索引for (int i = 0; i < n; i++) {  // 主串的索引// 当text[i]和pattern[j]不匹配时,利用next数组回退while (j > 0 && text[i] != pattern[j]) {j = next[j - 1];}// 如果匹配,则继续比较下一个字符if (text[i] == pattern[j]) {j++;}// 如果找到匹配模式串if (j == m) {printf("Found pattern at index %d\n", i - j + 1);j = next[j - 1];  // 继续寻找下一个匹配位置}}
}int main() {char text[] = "ABABDABACDABABCABAB";char pattern[] = "ABABCABAB";// 执行KMP匹配kmpSearch(text, pattern);return 0;
}

24.找出数组中出现次数超过数组下标一半的元素

思想:先排序

相关文章:

c语言经典100例

1.字符串转为数字 #include <stdio.h>int strToInt(char *s) {int num0;int sign1;int step1;if (*s -){sign -1;s;}while (*s > 0&&*s < 9){num num*10(*s-0);step 10;s;}return num*sign; }int main() {char a[10] "-1234";char *s a ;pr…...

百易云资产管理运营系统 ufile.api.php SQL注入漏洞复现

0x01 产品描述&#xff1a; 百易云资产管理运营系统&#xff0c;是专门针对企业不动产资产管理和运营需求而设计的一套综合解决方案。该系统能够覆盖资产的全生命周期管理&#xff0c;包括资产的登记、盘点、评估、处置等多个环节&#xff0c;同时提供强大的运营分析功能&#…...

【分布式微服务云原生】《Redis RedLock 算法全解析:应对时钟漂移与网络分区挑战》

《Redis RedLock 算法全解析&#xff1a;应对时钟漂移与网络分区挑战》 摘要&#xff1a; 本文深入探讨 Redis 的 RedLock 算法&#xff0c;详细阐述其步骤及工作原理&#xff0c;同时重点分析该算法如何处理时钟漂移和网络分区这两个常见的分布式系统问题。读者将通过本文深入…...

OceanBase 的写盘与传统数据库有什么不同?

背景 在数据库开发过程中&#xff0c;“写盘”是一项核心操作&#xff0c;即将内存中暂存的数据安全地转储到磁盘上。在诸如MySQL这样的传统数据库管理系统中&#xff0c;写盘主要有以下几步&#xff1a;首先将数据写入缓存池&#xff1b;其次&#xff0c;为了确保数据的完整性…...

用Java爬虫API,轻松获取taobao商品SKU信息

在电子商务的世界里&#xff0c;SKU&#xff08;Stock Keeping Unit&#xff0c;库存单位&#xff09;是商品管理的基础。对于商家来说&#xff0c;SKU的详细信息对于库存管理、价格策略制定、市场分析等都有着重要作用。taobao作为中国最大的电子商务平台之一&#xff0c;提供…...

OpenHarmony 入门——ArkUI 自定义组件内同步的装饰器@State小结(二)

文章大纲 引言一、组件内状态装饰器State1、初始化2、使用规则3、变量的传递/访问规则说明4、支持的观察变化的场景5、State 变量的值初始化和更新机制6、State支持联合类型实例 引言 前一篇文章OpenHarmony 入门——ArkUI 自定义组件之间的状态装饰器小结&#xff08;一&…...

【Linux驱动开发】嵌入式Linux驱动开发基本步骤,字符设备开发入门,点亮LED

【Linux驱动开发】嵌入式Linux驱动开发基本步骤&#xff0c;字符设备开发入门&#xff0c;点亮LED 文章目录 开发环境驱动文件编译驱动安装驱动自动创建设备节点文件 驱动开发驱动设备号地址映射&#xff0c;虚拟内存和硬件内存地址字符驱动旧字符驱动新字符驱动 应用程序开发…...

搬砖14、Python网络编程入门

网络编程入门 计算机网络基础 计算机网络是独立自主的计算机互联而成的系统的总称&#xff0c;组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数&#xff0c;而计算机网络也可以称得上是一个“复…...

Transformer: Attention is All you need

Transformer Transformer是基于Encoder-Decoder结构的&#xff0c;将Seq2Seq中的RNN/GRU部分更换为Self-Attention部分 位置编码 Positional Encoding Self-attention丢失了位置信息 CNN 卷积神经网络可以保存相邻的位置信息 RNN 是顺序输入的&#xff0c;是包含了位置信息…...

C++:排序算法

目录 一、插入排序 1.直接插入排序 2.希尔排序 二、交换排序 1.冒泡排序 2.快速排序 三、选择排序 1.简单选择排序 2.堆排序 四、归并排序 1.二路归并排序的递归实现 2.二路归并排序的非递归实现 一、插入排序 1.直接插入排序 直接插入排序的基本思想是&#xff…...

期货日内稳赢策略:双15交易法详解

Eagle Trader的考试不仅涵盖了CFD交易&#xff0c;期货交易的考生人数也颇为可观。与外汇市场相比&#xff0c;期货在国内市场的普及程度更高&#xff0c;参与的群体也更为广泛。这得益于期货市场在国内相对成熟的监管体系&#xff0c;使得交易员对期货有了更深入的了解和信任。…...

2024年10月第2个交易周收盘总结:怎样卖出!

计划自己的交易&#xff0c;交易自己的计划。 跟随市场而情绪波动&#xff0c;最终一定会导向失败&#xff01; 连续、平稳、冷静地惯彻交易计划&#xff0c;比什么都重要&#xff01; 交易本身是极其简单和清楚的&#xff0c;让事情变复杂的原因不是行情走势和交易本身&…...

mysql 不支持utf8mb4_0900_ai_ci

Unknowncollation:‘utf8mb4_0900_ai_ci’ 解决方案&#xff1a; 1. 升级mysql为8.0以上&#xff08;不包含8.0&#xff09; 2. 修改编码类型&#xff1a; utf8mb4_0900_ai_ci/utf8mb4_0900_ci 修改为utf8_general_ci utf8mb4修改为utf8 utf8mb4_0900_ai_ci 是一种 MySQL 数…...

第10篇:防火墙与入侵检测系统

目录 引言 10.1 防火墙的基本概念 10.2 防火墙的分类 10.3 防火墙策略的配置与实现 10.4 入侵检测系统&#xff08;IDS&#xff09; 10.5 防火墙与IDS的结合 10.6 总结 第10篇&#xff1a;防火墙与入侵检测系统 引言 在当今的数字世界中&#xff0c;网络安全已经成为企…...

Jmeter监控服务器性能

目录 ServerAgent 安装 打开Jmeter ServerAgent 在Jmeter上监控服务器的性能比如CPU&#xff0c;内存等我们需要用到ServerAgent&#xff0c;这里可以下载我分享 ServerAgent-2.2.3.zip 链接: https://pan.baidu.com/s/1oZKsJGnrZx3iyt15DP1IYA?pwdedhs 提取码: edhs 安装…...

通过前端UI界面创建VUE项目

通过前端UI界面创建VUE项目&#xff0c;是比较方面的一种方式&#xff0c;下面我们详细分析一下流程&#xff1a; 1、找到合适目录 右键鼠标&#xff0c;点击在终端打开 2、开始创建 输入 vue ui 浏览器弹出页面 3、点击Create项目 显示已有文件列表&#xff0c;另外可以点击…...

Python网络爬虫:分析淘宝商品热度与销量[进阶深度优化]

要更全面和深入地介绍基于Python的网络爬虫系统,分析淘宝商品买卖热度、销量以及统计热点关键词,我们可以进一步扩展内容,涵盖更多技术细节、优化策略、数据分析、以及机器学习的结合,形成一个功能强大、可靠的爬虫系统。下面是进一步的补充。 1. 爬虫策略的深度优化 为了…...

golang从http请求中读取xml格式的body,并转成json

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

RestTemplate 学习笔记

简介 RestTemplate是一个执行HTTP请求的同步阻塞式工具类&#xff0c;它仅仅只是在 HTTP 客户端库&#xff08;例如 JDK HttpURLConnection&#xff0c;Apache HttpComponents&#xff0c;okHttp 等&#xff09;基础上&#xff0c;封装了更加简单易用的模板方法 API&#xff0c…...

数据抓取时,使用动态IP要注意哪些?

在充满竞争和数据驱动的商业环境中&#xff0c;动态IP已成为数据抓取过程中不可或缺的工具。动态IP的应用能有效提高抓取成功率&#xff0c;但同时也伴随着一系列需要注意的问题。在本文中&#xff0c;我们将详细探讨在数据抓取时使用动态IP时应注意的事项&#xff0c;以确保抓…...

C++类的构造函数

1、what 类的特殊成员函数,用来初始化类对象的数据成员。 只要类对象被创建,就会被执行。 构造函数的名字和类名相同,可以包含“0”个(其实有一个编译器生成的合成默认构造函数,只是看不见而已)、1个或多个构造函数,没有返回值,不同构造函数使用参数数量或参数类型进行…...

第21~22周Java主流框架入门-Spring 3.SpringJDBC事务管理

Spring JDBC模块与事务管理课程总结 1. 课程介绍 本课程主要讲解Spring框架中的JDBC模块及其事务管理的相关内容&#xff0c;重点包括以下三个方面&#xff1a; Spring JDBC模块及核心对象JDBC Template的使用 通过学习如何使用Spring JDBC模块&#xff0c;了解JDBC Template…...

C++ —— 类和对象

目录 介绍类和对象 一. 类和对象——类的定义 1.访问限定符 2.类域 作用操作符:: 3.对象大小 类的实例化 内存对齐规则 4.this指针 this指针会出现的问题 5.C语言结构体与C类对比 封装的本质 C类的优点 二 .类和对象——关于成员 1.类的默认成员函数 I.构造函数 构…...

安全见闻笔记

目录 安全见闻... 1 编程语言... 1 函数式编程语言... 1 数据科学和机器学习领域... 2 Web 全栈开发... 2 移动开发... 2 嵌入式系统开发... 2 其他... 2 操作系统... 2 裸板程序... 3 操作系统... 3 网络通讯... 4 计算机硬件... 4 网络硬件... 4 移动设备硬件…...

visual studio使用vcpkg无法定位程序输入点于XXX动态链接库***.dll上

第一个解决办法&#xff1a;将vcpkg的bin文件夹添加到系统变量 vcpkg\installed\x64-windows\bin vcpkg\installed\x64-windows\debug\bin 第二个解决办法&#xff1a;将bin文件夹添加到调试->环境中...

如何保护您的服务器免受 POODLE SSLv3 漏洞的影响

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 2014年10月14日&#xff0c;SSL加密协议第3版中的一个漏洞被披露。这个漏洞被称为POODLE&#xff08;Padding Oracle On Downgrad…...

如何用pyhton修改1000+图片的名字?

import os oldpath input("请输入文件路径&#xff08;在windows中复制那个图片文件夹的路径就可以):") #注意window系统中的路径用这个‘\分割&#xff0c;但是编程语言中一般都是正斜杠也就是’/‘ #这里写一个代码&#xff0c;将 \ > / path "" fo…...

使用fpm工具制作Vim.rpm包

背景&#xff1a;生产环境中的CentOS 7在安全扫描中被扫描出vim存在堆缓冲区溢出&#xff08;CVE-2024-45306&#xff09;等漏洞。根据漏洞说明&#xff0c;需要升级到最新版。 奈何CentOS 7已经停止维护了&#xff0c;所以&#xff0c;想在网上找一个最新版的vim.rpm相当不容易…...

Dorado7 全局缓存当前登录人信息 localStorage

登录成功时赋值 com.gs.mcf.view/index.js // like12 add,20240906,全局缓存当前登录人信息var currentName view.get(#userNameLb).get(tip);if(window.localStorage){localStorage.setItem("currentName", currentName);} 使用 // like12 add,20240906,全局缓存…...

【2024最新版】网络安全学习路线-适合入门小白

首先说明&#xff0c;我是一名CTF的web手&#xff0c;这是我自己亲身学习网络安全的路线&#xff0c;希望能够帮到大家&#xff0c;我虽然不是大牛&#xff0c;但我也希望能够帮助一些网安小白找到自己学习的方向&#xff0c;后面有就业的详细安全技术要求&#xff0c;如果真想…...