15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串

15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串

文章目录

  • 15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串
    • 1. `strstr`
      • 1.1 示例代码
    • 2. `strlen`
      • 2.1 示例代码
    • 3. `strtok`
      • 3.1 示例代码
    • 4. `strchr` 和 `strrchr`
      • 4.1 示例代码
    • 5. `strcpy` 和 `strncpy`
      • 5.2 示例代码
    • 6.`strcmp` 和 `strncmp`
      • 6.1 示例代码
    • 7.`strcat` 和 `strncat`
      • 7.1 示例代码
    • 8. `sprintf`
      • 8.1 示例代码
    • 9. `bzero`
      • 9.1 示例代码
    • 10.`memset`
      • 10.1 示例代码
    • 11.`memcpy`
      • 11.1 示例代码
    • 12. `memcmp`
      • 12.1 示例代码
    • 13.错误号 (`errno`) 和错误信息处理
      • 13.1 概念
      • 13.2 `strerror` 函数
        • 示例代码
      • 13.3 `perror` 函数
        • 示例
      • 13.4 错误号码及其对应的描述信息

1. strstr

strstr 函数用于在一个字符串中查找指定的子字符串。

头文件:

#include <string.h>

定义函数:

char *strstr(const char *haystack, const char *needle);

参数分析:

  • haystack:需要查找的源字符串。
  • needle:需要查找的子字符串。

返回值:

  • 成功:返回第一次出现的地址。
  • 失败:返回 NULL。

1.1 示例代码

#include <stdio.h>
#include <string.h>int main() {const char *haystack = "Hello Even";//常目标指针-->目标不可变const char *needle = "Even";char *result = strstr(haystack, needle);if (result) {printf("Found '%s' in '%s' at position: %ld\n", needle, haystack, result - haystack);} else {printf("'%s' not found in '%s'\n", needle, haystack);}return 0;
}

2. strlen

strlen 函数用于返回字符串的长度

头文件:

#include <string.h>

定义函数:

size_t strlen(const char *s);

参数分析:

  • s:需要计算长度的字符串。

返回值:

  • 返回字符串的字符数,不包括结束字符 '\0'

2.1 示例代码

#include <stdio.h>
#include <string.h>int main() {const char *str = "Hello, World!";size_t length = strlen(str);printf("The length of the string '%s' is: %zu\n", str, length);return 0;
}

3. strtok

strtok 函数用于分割字符串

函数说明strtok()用来将字符串分割成一个个片段,参数s指向欲分割的字符串,参数delim则为分割字符串;

  • 当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为==“\0”==字符;
  • 在第一次调用时strtok()必需给予参数 s 字符串,往后的调用则将参数 s 设置成NULL.每次调用成功则返回下一个分割后的字符串指针。

头文件:

#include <string.h>

定义函数:

char *strtok(char *s, const char *delim);

参数分析:

  • s:需要分割的字符串(需要可读写的内存地址)。
  • delim:分隔符(可以有多个分隔符)。

返回值:

  • 返回下一个分割后的字符串指针,如果已无从分割则返回 NULL。

注意事项

  • strtok 第一次使用需要传递指针 s,如果想要从当前位置继续进行分割则指针 s 必须传 NULL。

3.1 示例代码

#include <stdio.h>
#include <string.h>int main() {char str[] = "Hello, World! This is a test.";const char *delim = " ,.!";char *token = strtok(str, delim);while (token != NULL) {printf("Token: %s\n", token);token = strtok(NULL, delim);}return 0;
}

4. strchrstrrchr

用于查找字符串中第一个出现最后一个指定字符

头文件

#include <string.h>

定义函数

char *strchr(const char *s, int c);  // 从左往右找
char *strrchr(const char *s, int c); // 从右往左找

参数分析

  • s:需要遍历寻找的字符串(只读地址即可)。
  • c:需要查找的字符(虽然是个整型,但实质是一个无符号的字符类型)。

返回值

  • 成功:返回该字符所在的地址。
  • 失败:返回 NULL。

4.1 示例代码

#include <stdio.h>
#include <string.h>int main() {const char *str = "Hello, World!";char ch = 'o';char *first_occurrence = strchr(str, ch);char *last_occurrence = strrchr(str, ch);if (first_occurrence) {printf("First occurrence of '%c': %ld\n", ch, first_occurrence - str);} else {printf("Character '%c' not found\n", ch);}if (last_occurrence) {printf("Last occurrence of '%c': %ld\n", ch, last_occurrence - str);} else {printf("Character '%c' not found\n", ch);}return 0;
}

5. strcpystrncpy

用于拷贝字符串

头文件

#include <string.h>

定义函数

char *strcpy(char *dest, const char *src);  // 没有控制拷贝长度,有可能会溢出
char *strncpy(char *dest, const char *src, size_t n);  // 需要填写拷贝长度,减少溢出

参数分析

  • dest:拷贝字符串的目标地址(可读写的内存)。
  • src:需要拷贝的字符串(只读即可)。
  • n:控制需要拷贝的长度。

返回值

  • 成功:返回参数 dest 的字符串起始地址。

5.2 示例代码

#include <stdio.h>
#include <string.h>int main() {char src[] = "Hello, World!";char dest[50];strcpy(dest, src);printf("strcpy: %s\n", dest);strncpy(dest, "Goodbye", 4);dest[4] = '\0';  // 需要手动添加结束符printf("strncpy: %s\n", dest);return 0;
}

6.strcmpstrncmp

用于比较字符串。

函数说明strcmp()用来比较参数s1和s2字符串,字符串大小的比较是以Asc11码表上的顺序来决定,此顺序亦为字符的值.

strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为。则再继续比较下个字符,若差值不为0则将差值返回.例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和"b"(98)的差值(-33).

头文件

#include <string.h>

定义函数

int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);

参数分析

  • s1:需要比较的字符串1。
  • s2:需要比较的字符串2。
  • n:需要比较的前 N 个字符。

返回值

  • 成功:返回0,表示两个字符串完全相同。
  • 失败:返回第一个不同字符的差值。

6.1 示例代码

#include <stdio.h>
#include <string.h>int main() {const char *str1 = "Hello";const char *str2 = "Hello, World!";int result = strcmp(str1, str2);printf("strcmp: %d\n", result);result = strncmp(str1, str2, 5);printf("strncmp: %d\n", result);return 0;
}

7.strcatstrncat

用于连接两个字符串

头文件

#include <string.h>

定义函数

char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t n);

参数分析

  • dest:目标地址,拷贝到该字符串后面。
  • src:源地址,需要拷贝的内容。
  • n:需要拷贝的字符数。

返回值

  • 返回参数 dest 的字符串起始地址。

7.1 示例代码

#include <stdio.h>
#include <string.h>int main() {char dest[50] = "Hello";const char *src = ", World!";strcat(dest, src);printf("strcat: %s\n", dest);strncat(dest, " Goodbye", 5);printf("strncat: %s\n", dest);return 0;
}

8. sprintf

用于格式化字符串复制。

头文件

#include <stdio.h>

定义函数

int sprintf(char *str, const char *format, ...);

参数分析

  • str:复制后的字符串(目标地址,必须可读写)。
  • format:格式化控制参数(参考打印函数)。
  • ...:可变参数。

返回值

  • 成功:返回参数 str 字符串长度。
  • 失败:返回 -1,错误原因存于 errno 中。

8.1 示例代码

#include <stdio.h>int main() {char buffer[50];int x = 42;double y = 3.14;sprintf(buffer, "x = %d, y = %.2f", x, y);printf("sprintf: %s\n", buffer);return 0;
}

9. bzero

用于将一段内存内容全清为零

头文件

#include <string.h>

定义函数

void bzero(void *s, int n);

参数分析

  • s:需要清空的内存的入口地址。
  • n:需要清空的字节数。

返回值

  • 无。

9.1 示例代码

#include <stdio.h>
#include <strings.h>int main() {char buffer[50];strcpy(buffer, "Hello, World!");printf("Before bzero: %s\n", buffer);bzero(buffer, sizeof(buffer));printf("After bzero: %s\n", buffer);return 0;
}

10.memset

用于将一段内存空间填入某值。

头文件

#include <string.h>

定义函数

void *memset(void *s, int c, size_t n);

参数分析

  • s:需要设置的内存的入口地址(可读写)。
  • c:需要填入的字符的 ASCII 值。
  • n:需要填入的字节数。

返回值

  • 返回指向 s 的指针。

10.1 示例代码

#include <stdio.h>
#include <string.h>int main() {char buffer[50];memset(buffer, 'A', sizeof(buffer));buffer[49] = '\0';  // 确保最后一个字符是结束符printf("memset: %s\n", buffer);return 0;
}

11.memcpy

用于拷贝内存内容。

头文件

#include <string.h>

定义函数

void *memcpy(void *dest, const void *src, size_t n);
void *memccpy(void *dest, const void *src, int c, size_t n);

注意:

  • 与strcpy 不同的地方在于,strcpy在遇到结束符时停止拷贝, 而memcpy 则是会完整拷贝内存中的前N字节,不会因为遇到结束符而停止
  • memccpy 在复制的过程中会顺便检查是否出现了 字符 c , 如果出现, 则停止拷贝(拷贝C之后),后面的内容就没有继续拷贝。
    《拷贝到字符C为止, 最多拷贝n个字节》

参数分析

  • dest:目标地址(可读写的内存地址)。
  • src:源数据地址。
  • c:在 memccpy 中,用于检测的字符。
  • n:需要拷贝的字节数。

返回值

  • 返回指向 dest 的指针。

11.1 示例代码

#include <stdio.h>
#include <string.h>int main() {char src[] = "Hello, World!";char dest[50];memcpy(dest, src, strlen(src) + 1);printf("memcpy: %s\n", dest);memccpy(dest, " Goodbye", 'd', 8);printf("memccpy: %s\n", dest);return 0;
}

12. memcmp

用于比较内存内容。

头文件

#include <string.h>

定义函数

int memcmp(const void *s1, const void *s2, size_t n);

参数分析

  • s1:内存块1。
  • s2:内存块2。
  • n:需要比较的前 N 字节。

返回值

  • 成功:返回0,表示两个内存块内容一致。
  • 失败:返回两个内存块内容的差值。

12.1 示例代码

#include <stdio.h>
#include <string.h>int main() {char buffer1[] = "Hello, World!";char buffer2[] = "Hello, World!";char buffer3[] = "Hello, world!";int result = memcmp(buffer1, buffer2, strlen(buffer1));printf("memcmp (buffer1, buffer2): %d\n", result);result = memcmp(buffer1, buffer3, strlen(buffer1));printf("memcmp (buffer1, buffer3): %d\n", result);return 0;
}

13.错误号 (errno) 和错误信息处理

13.1 概念

errno 是一个全局变量,用于表示最近一次系统调用或库函数调用错误的错误码。它不需要我们自己定义,只需要包含头文件即可。

头文件:

#include <errno.h>

13.2 strerror 函数

该函数用于返回对应错误号的描述字符串

头文件:

#include <string.h>

定义函数:

char *strerror(int errnum);

参数分析:

  • errnum:错误号码。

返回值:

  • 返回描述错误原因的字符串指针。
示例代码
#include <stdio.h>
#include <string.h>
#include <errno.h>int main() {for (size_t i = 0; i < 134; i++) {printf("errno:%zu:msg:%s\n", i, strerror(i));}errno = 3; // 手动修改错误号码的值perror("左勾拳失败"); // 根据错误号码之直接输出信息return 0;
}

13.3 perror 函数

该函数用于打印出错误原因信息字符串

头文件:

#include <stdio.h>

定义函数:

void perror(const char *s);

参数分析:

  • s:用户自定义的错误提示。

返回值:

  • 无返回值。
示例
#include <stdio.h>
#include <errno.h>int main() {// 触发一个错误FILE *file = fopen("nonexistent.txt", "r");if (!file) {perror("文件打开失败");}// 手动设置错误号码errno = 3;perror("左勾拳失败");return 0;
}

13.4 错误号码及其对应的描述信息

errno:0:msg:Success
errno:1:msg:Operation not permitted
errno:2:msg:No such file or directory
errno:3:msg:No such process
errno:4:msg:Interrupted system call
errno:5:msg:Input/output error
errno:6:msg:No such device or address
errno:7:msg:Argument list too long
errno:8:msg:Exec format error
errno:9:msg:Bad file descriptor
errno:10:msg:No child processes
errno:11:msg:Resource temporarily unavailable
errno:12:msg:Cannot allocate memory
errno:13:msg:Permission denied
errno:14:msg:Bad address
errno:15:msg:Block device required
errno:16:msg:Device or resource busy
errno:17:msg:File exists
errno:18:msg:Invalid cross-device link
errno:19:msg:No such device
errno:20:msg:Not a directory
errno:21:msg:Is a directory
errno:22:msg:Invalid argument
errno:23:msg:Too many open files in system
errno:24:msg:Too many open files
errno:25:msg:Inappropriate ioctl for device
errno:26:msg:Text file busy
errno:27:msg:File too large
errno:28:msg:No space left on device
errno:29:msg:Illegal seek
errno:30:msg:Read-only file system
errno:31:msg:Too many links
errno:32:msg:Broken pipe
errno:33:msg:Numerical argument out of domain
errno:34:msg:Numerical result out of range
errno:35:msg:Resource deadlock avoided
errno:36:msg:File name too long
errno:37:msg:No locks available
errno:38:msg:Function not implemented
errno:39:msg:Directory not empty
errno:40:msg:Too many levels of symbolic links
errno:41:msg:Unknown error 41
errno:42:msg:No message of desired type
errno:43:msg:Identifier removed
errno:44:msg:Channel number out of range
errno:45:msg:Level 2 not synchronized
errno:46:msg:Level 3 halted
errno:47:msg:Level 3 reset
errno:48:msg:Link number out of range
errno:49:msg:Protocol driver not attached
errno:50:msg:No CSI structure available
errno:51:msg:Level 2 halted
errno:52:msg:Invalid exchange
errno:53:msg:Invalid request descriptor
errno:54:msg:Exchange full
errno:55:msg:No anode
errno:56:msg:Invalid request code
errno:57:msg:Invalid slot
errno:58:msg:Unknown error 58
errno:59:msg:Bad font file format
errno:60:msg:Device not a stream
errno:61:msg:No data available
errno:62:msg:Timer expired
errno:63:msg:Out of streams resources
errno:64:msg:Machine is not on the network
errno:65:msg:Package not installed
errno:66:msg:Object is remote
errno:67:msg:Link has been severed
errno:68:msg:Advertise error
errno:69:msg:Srmount error
errno:70:msg:Communication error on send
errno:71:msg:Protocol error
errno:72:msg:Multihop attempted
errno:73:msg:RFS specific error
errno:74:msg:Bad message
errno:75:msg:Value too large for defined data type
errno:76:msg:Name not unique on network
errno:77:msg:File descriptor in bad state
errno:78:msg:Remote address changed
errno:79:msg:Can not access a needed shared library
errno:80:msg:Accessing a corrupted shared library
errno:81:msg:.lib section in a.out corrupted
errno:82:msg:Attempting to link in too many shared libraries
errno:83:msg:Cannot exec a shared library directly
errno:84:msg:Invalid or incomplete multibyte or wide character
errno:85:msg:Interrupted system call should be restarted
errno:86:msg:Streams pipe error
errno:87:msg:Too many users
errno:88:msg:Socket operation on non-socket
errno:89:msg:Destination address required
errno:90:msg:Message too long
errno:91:msg:Protocol wrong type for socket
errno:92:msg:Protocol not available
errno:93:msg:Protocol not supported
errno:94:msg:Socket type not supported
errno:95:msg:Operation not supported
errno:96:msg:Protocol family not supported
errno:97:msg:Address family not supported by protocol
errno:98:msg:Address already in use
errno:99:msg:Cannot assign requested address
errno:100:msg:Network is down
errno:101:msg:Network is unreachable
errno:102:msg:Network dropped connection on reset
errno:103:msg:Software caused connection abort
errno:104:msg:Connection reset by peer
errno:105:msg:No buffer space available
errno:106:msg:Transport endpoint is already connected
errno:107:msg:Transport endpoint is not connected
errno:108:msg:Cannot send after transport endpoint shutdown
errno:109:msg:Too many references: cannot splice
errno:110:msg:Connection timed out
errno:111:msg:Connection refused
errno:112:msg:Host is down
errno:113:msg:No route to host
errno:114:msg:Operation already in progress
errno:115:msg:Operation now in progress
errno:116:msg:Stale file handle
errno:117:msg:Structure needs cleaning
errno:118:msg:Not a XENIX named type file
errno:119:msg:No XENIX semaphores available
errno:120:msg:Is a named type file
errno:121:msg:Remote I/O error
errno:122:msg:Disk quota exceeded
errno:123:msg:No medium found
errno:124:msg:Wrong medium type
errno:125:msg:Operation canceled
errno:126:msg:Required key not available
errno:127:msg:Key has expired
errno:128:msg:Key has been revoked
errno:129:msg:Key was rejected by service
errno:130:msg:Owner died
errno:131:msg:State not recoverable
errno:132:msg:Operation not possible due to RF-kill
errno:133:msg:Memory page has hardware error

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:SLT容器-->stack

C:SLT容器--&#xff1e;stack 1. stack容器2. stack 常用接口 1. stack容器 先进后出&#xff0c;后进先出不允许有遍历行为可以判断容器是否为空可以返回元素的个数 2. stack 常用接口 构造函数 stack<T> stk; // stack采用模板类实现&#xff0c;stack对象的默认构造形…

第1期JAVA社招面试经验月报

面经哥专注互联网社招面试经验分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥&#xff5c;面经哥整理了上月30篇面试经历&#xff0c;选取了较为热点高频的面试题供大家参考 基础知识类‍‍‍‍‍ 1、说下双亲委派原则以及类加…

1992-2012年美国西海岸的海面高度异常数据集

Gridded Altimeter Fields with Enhanced Coastal Coverage 具有增强海岸覆盖范围的网格化测高场 简介 具有增强的海岸覆盖范围的网格化高度计场数据产品包含美国西海岸的海面高度异常&#xff08;SSHA 或 SLA&#xff09;以及北纬 35.25 度-48.5 度和东经 227.75 度-248.5 …

Vue3 渲染函数 API(五)

h() h 函数用于创建并返回一个虚拟节点&#xff08;VNode&#xff09; h( tag, // HTML 标签名、组件对象或异步组件函数 data, // 一个包含组件的props/attrs/domProps/on 等的对象 children // 子虚拟节点 (VNodes)&#xff0c;由 h()构建而成&#xff0c; // 也可以使用字符…

解析final原理

原理 public class TestFinal {final int a 20; //final保证不能读到两个值} 字节码&#xff1a; 写屏障&#xff1a; 之前的指令不会重排序到后面去&#xff08;有序性&#xff09; 之前的修改、赋值操作之后会同步到主内存中去&#xff08;可见性&#xff09; 0: aload…

大学生如何学习JavaScript?

学习 JavaScript 对于大学生来说是一个宝贵的技能&#xff0c;因为它是现代网页开发的核心语言之一。以下是一些详细的步骤&#xff0c;帮助大学生学习 JavaScript&#xff1a; 1. 了解 Web 开发基础 学习 HTML 和 CSS&#xff0c;这是网页开发的基石。 2. 学习 JavaScript …

什么是transformer?

整个 transformer 的重点在 QKV 结构上。 以前的 CNN 试图通过卷积来表达不同位置数值之间的关系&#xff0c;学习卷积值也就是学习矩阵里的数值之间的特征&#xff0c;所以适合用在图像里面。因为图像就是一个个的像素点形成的矩阵。 RNN 试图通过加入反馈机制来理解一串数值…

Python酷库之旅-开启库房之门

目录 一、库的定义 二、库的组成 三、库的分类 四、如何学好Python库&#xff1f; 五、注意事项 六、推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、Python魔法之旅 5、 博客个人主页 一、库的定义 在Python中&#xff0c;库(Library)是一个封…

探索智慧机场运营中心解决方案的价值与应用

随着全球航空业的不断发展&#xff0c;机场运营中心的作用日益凸显。智慧机场运营中心解决方案以其高效的管理和智能化的运营模式&#xff0c;成为优化机场运营、提升服务水平的重要工具。本文将深入探讨智慧机场运营中心解决方案的价值与应用&#xff0c;揭示其在机场管理中的…

机器学习常见知识点 2:决策树

文章目录 决策树算法1、决策树树状图2、选择最优决策条件3、决策树算法过程→白话决策树原理决策树构建的基本步骤常见的决策树算法决策树的优缺点 【五分钟机器学习】可视化的决策过程&#xff1a;决策树 Decision Tree 关键词记忆&#xff1a; 纯度、选择最优特征分裂、熵、基…

Ubuntu下ClickHouse安装

用 root 身份运行, 注意在install那一步, 不要设置密码 # 使用官方安装源&#xff0c;跳过签名验证。&#xff08;因为使用 gpg 完全通过代理获取签名的问题至今没有解决。&#xff09; echo deb [trustedyes] https://packages.clickhouse.com/deb stable main > /etc/apt…

电脑上的瑞士军刀

一、简介 1、一款专为 Windows 操作系统设计的桌面管理工具&#xff0c;它具备保存和恢复桌面图标位置的功能&#xff0c;使用户能够在各种情况下&#xff0c;如分辨率变动、系统更新或其他原因导致的图标位置混乱后&#xff0c;快速恢复到熟悉的工作环境。它还拥有诸多实用功能…

【Pyqt6 学习笔记】实现串口调试助手,并将接收到数据模拟键盘输出

文章目录 代码示例main.pyscreen_shot_module.pyqrcmd.pyuntitled.pyuntitled.ui 本文内容是 【Pyqt6 学习笔记】DIY一个二维码解析生成小工具的延申&#xff0c;在原来的基础上实现了串口调试助手功能&#xff0c;并利用 pywinauto的 keyboard模块将接收到数据模拟键盘输出…

【递归+二叉树思想+搜索】 Alice and the Cake题解

Alice and the Cake题解 AC记录&#xff1a;记录-洛谷 题面翻译&#xff08;大概就是题目大意&#xff09; 执行恰好 n − 1 n-1 n−1 次操作&#xff0c;每次操作可以选择当前所有蛋糕中满足其重量 w ⩾ 2 w\geqslant 2 w⩾2 的一块&#xff0c;然后将其分为质量分别为 …

手机连接ESP8266的WIFI,进入内置网页,输入要显示的内容,在OLED显示屏上显示文本

连线 OLEDESP8266含义GNDGND地线VCC3V电源SCLD1时钟线SDAD2通信数据线 只支持英文信息的显示和数字。 #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>#d…

开发性能优化+开发安全最大化

性能优化 1.优化数据库访问 1.1索引 在数据库表中为需要频繁查询的列创建索引&#xff0c;可以提高查询效率。实质&#xff08;空间换时间&#xff09;&#xff1a;顺指针找到对应指定值的行&#xff0c;index_name&#xff1a;索引名&#xff1b;column_list&#xff1a;指定…

5.大模型高效微调(PEFT)未来发展趋势

PEFT 主流技术分类 UniPELT 探索PEFT 大模型的统一框架&#xff08;2022&#xff09; UIUC 和Meta AI 研究人员发表的UniPELT 提出将不同的PEFT 方法模块化。 通过门控机制学习激活最适合当前数据或任务的方法&#xff0c;尤其是最常见的3大类PEFT 技术&#xff1a; Adapters…

事业单位——被逆袭篇

目录 一、结果 二、考试 三、时间 四、复习 五、总结 一、结果 图1&#xff1a;2024年浙江广播电视集团下属浙江省中波发射管理中心公开招聘笔面试结果 准考证号笔试面试总成绩排名备注107016070.866.48310702416555.44107134390.871.681入围107146869.869.08210715406454.…

征信受损,别再犯傻!

听说你的征信出了点小问题&#xff1f;别急&#xff0c;这事儿说大不大&#xff0c;但也不能掉以轻心。征信&#xff0c;说白了就是你借钱还钱的记录本&#xff0c;一旦它“花”了&#xff0c;借钱可就没那么轻松了。 先来说说这征信“花”了是咋回事 征信“花”了&#xff0c…

18.1 HTTP服务器-极简服务器、请求与响应

1. 极简服务器 大道至简。使用Go语言构建世界上最简单的HTTP服务器&#xff0c;仅需四行代码。 标准库的net/http包提供了多种用于创建HTTP服务器的方法&#xff0c;其中包括&#xff1a; http.HandleFunc("/", rootHandler) 第一参数&#xff1a;访问的url 第二…