C语言函数大全-- _w 开头的函数(5)
C语言函数大全
本篇介绍C语言函数大全-- _w 开头的函数
1. _wspawnl
1.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnl(int mode, const wchar_t* cmdname, const wchar_t* arglist, ...); | 启动一个新的进程并运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则将从当前工作目录中查找可执行文件。如果当前工作目录中没有找到该文件,则将失败并返回错误代码。
- arglist : 可选,传递给子进程的命令行参数字符串。多个参数以空格分隔
- … : 可选,用于传递命令行参数的可变参数列表,必须以一个
NULL结尾
1.2 演示示例
1.2.1 SubTest.c
#include <stdio.h>
int main(int argc, char *argv[])
{printf("exec %s, Hello, %s", argv[0], argv[1]);return 0;
}
1.2.2 Test.c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"SubTest.exe";const wchar_t* arglist = L"SubTest.exe huazie";// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnl(mode, cmdname, arglist, NULL);// 打印子进程的退出代码printf("\nChild process exited with code %d\n", result);return 0;
}
注意: 上述示例是一个同步(阻塞)调用。如果你想启动一个异步进程(不等待它结束),则可以将
mode参数设置为_P_NOWAIT。在这种情况下,函数会立即返回,父进程不会等待新进程完成。
1.3 运行结果

2. _wspawnle
2.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnle(int mode, const wchar_t* cmdname, const wchar_t* arglist, ... , const wchar_t* envptr[]); | 启动一个新的进程并通过指定的环境变量传递参数,来运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则将从当前工作目录中查找可执行文件。如果当前工作目录中没有找到该文件,则将失败并返回错误代码。
- arglist : 可选,传递给子进程的命令行参数字符串。多个参数以空格分隔
- … : 可选,用于传递命令行参数的可变参数列表,必须以一个
NULL结尾- envptr: 可选,包含所有需要在子进程中使用的环境变量。如果为
NULL,则子进程使用调用进程的当前环境
2.2 演示示例
2.2.1 SubEnvTest.c
#include <process.h>
#include <processenv.h>
#include <stdio.h>int main(int argc, char *argv[], char **envp)
{printf("SubEnvTest Command line arguments:\n");for (int i=0; i<argc; i++)printf("[%d] : %s\n", i, argv[i]);printf("exec %s, Hello, %s\n", argv[0], argv[1]);for (int i = 0; envp[i] != NULL; i++){printf("%s\n", envp[i]);}// while(*envp != NULL)// printf(" %s\n", *(envp++));return 0;
}
2.2.2 Test.c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"SubEnvTest.exe";const wchar_t* arglist[] = { L"SubEnvTest.exe", L"Huazie", NULL };const wchar_t* envptr[] = { L"Hello=world", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnle(mode, cmdname, arglist[0], arglist[1], NULL, envptr);// 打印子进程的退出代码printf("\nChild process exited with code %d\n", result);return 0;
}
2.3 运行结果

3. _wspawnlp
3.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnl(int mode, const wchar_t* cmdname, const wchar_t* arg0, ...); | 启动一个新的进程并运行指定的可执行文件。它与 _wspawnl 函数类似,但参数列表略有不同 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则会在环境变量
PATH指定的目录中查找可执行文件- arg0 : 可选,第一个命令行参数字符串
- … : 可选,用于传递命令行参数的可变参数列表,必须以一个
NULL结尾
3.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"java.exe";const wchar_t* arg0 = L"java.exe";const wchar_t* arg1 = L"-version";// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnlp(mode, cmdname, arg0, arg1, NULL);// 打印子进程的退出代码printf("\nChild process exited with code %d\n", result);return 0;
}
3.3 运行结果

4. _wspawnlpe
4.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnlpe(int mode, const wchar_t* cmdname, const wchar_t* arg0, ... , const wchar_t* envptr[]); | 用于启动一个新进程并运行指定的可执行文件。它与 _wspawnle 函数类似,但参数列表略有不同 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则会在环境变量
PATH指定的目录中查找可执行文件- arg0 : 可选,第一个命令行参数字符串
- … : 可选,用于传递命令行参数的可变参数列表,必须以一个
NULL结尾- envptr: 可选,包含所有需要在子进程中使用的环境变量。如果为
NULL,则子进程使用调用进程的当前环境
4.2 演示示例
4.2.1 SubEnvTest.c
参考 2.2.1 中所示即可,不再赘述
4.2.2 Test.c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"SubEnvTest.exe";const wchar_t* arg0 = L"SubEnvTest.exe";const wchar_t* arg1 = L"Huazie";const wchar_t* arg2 = L"helloworld";const wchar_t* envp[] = { L"key=value", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnlpe(mode, cmdname, arg0, arg1, arg2, NULL, envp);// 打印子进程的退出代码printf("Child process exited with code %d\n", result);return 0;
}
4.3 运行结果

5. _wspawnv
5.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnv(int mode, const wchar_t* cmdname, const wchar_t* const argv[]); | 用于启动一个新进程并运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则将从当前工作目录中查找可执行文件。如果当前工作目录中没有找到该文件,则将失败并返回错误代码。
- argv : 要传递给子进程的命令行参数。该数组中最后一个元素必须是
NULL
5.2 演示示例
5.2.1 SubTest.c
参考 1.2.1 中所示即可,不再赘述
5.2.2 Test.c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"SubTest.exe";const wchar_t* argv[] = { L"SubTest.exe", L"Huazie", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnv(mode, cmdname, argv);// 打印子进程的退出代码printf("\nChild process exited with code %d\n", result);return 0;
}
5.3 运行结果

6. _wspawnve
6.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnve(int mode, const wchar_t* cmdname, const wchar_t* const argv[], const wchar_t* const envp[]); | 用于启动一个新进程并运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则将从当前工作目录中查找可执行文件。如果当前工作目录中没有找到该文件,则将失败并返回错误代码。
- argv : 要传递给子进程的命令行参数。该数组中最后一个元素必须是
NULL- envp: 可选,包含所有需要在子进程中使用的环境变量。如果为
NULL,则子进程使用调用进程的当前环境
6.2 演示示例
6.2.1 SubEnvTest.c
参考 2.2.1 中所示即可,不再赘述
6.2.2 Test.c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"SubEnvTest.exe";const wchar_t* argv[] = { L"SubEnvTest.exe", L"Huazie", L"helloworld", NULL };const wchar_t* envp[] = { L"key=value", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnve(mode, cmdname, argv, envp);// 打印子进程的退出代码printf("Child process exited with code %d\n", result);return 0;
}
6.3 运行结果

7. _wspawnvp
7.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnvp(int mode, const wchar_t* cmdname, const wchar_t* const argv[]); | 用于启动一个新进程并运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则会在环境变量
PATH指定的目录中查找可执行文件- argv : 要传递给子进程的命令行参数。该数组中最后一个元素必须是
NULL
7.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"java.exe";const wchar_t* argv[] = { L"java.exe", L"-version", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnvp(mode, cmdname, argv);// 打印子进程的退出代码printf("\nChild process exited with code %d\n", result);return 0;
}
7.3 运行结果

8. _wspawnvpe
8.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wspawnvpe(int mode, const wchar_t* cmdname, const wchar_t* const argv[], const wchar_t* const envp[]); | 用于启动一个新进程并运行指定的可执行文件 |
参数:
- mode : 启动命令的模式,可以是
_P_WAIT或_P_NOWAIT的任意一种:
_P_WAIT:等待新进程结束之后才继续执行当前进程_P_NOWAIT:不等待新进程结束,立即返回并继续执行当前进程- cmdname : 要执行的可执行文件的名称,可以包含完整路径或者只有文件名。如果只有文件名,则会在环境变量
PATH指定的目录中查找可执行文件- argv : 要传递给子进程的命令行参数。该数组中最后一个元素必须是
NULL- envp: 可选,包含所有需要在子进程中使用的环境变量。如果为
NULL,则子进程使用调用进程的当前环境
8.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* cmdname = L"java.exe";const wchar_t* argv[] = { L"java.exe", L"-version", NULL };const wchar_t* envp[] = { L"key=value", NULL };// 同步启动新进程,等待子进程完成int mode = _P_WAIT;// 启动新进程int result = _wspawnvpe(mode, cmdname, argv, envp);// 打印子进程的退出代码printf("Child process exited with code %d\n", result);return 0;
}
8.3 运行结果

9. _wsystem
9.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wsystem(const wchar_t* command); | 用于执行操作系统命令。它会启动一个新进程来执行指定的命令,并等待该进程完成。在命令执行过程中,父进程将会被阻塞。 |
参数:
- command: 要执行的命令字符串,可以是一个简单的命令名或者是一个完整的命令行
返回值:
- 如果命令执行成功,则返回执行命令后的退出代码;
- 如果命令执行失败,则返回一个负数。
9.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <process.h>int main()
{const wchar_t* command = L"cmd /c copy file1.txt file2.txt";// 执行命令int result = _wsystem(command);// 检查命令是否执行成功if (result == -1) {wprintf(L"Failed to run command.\n");return 1;}// 打印命令的退出代码wprintf(L"Command exited with code %d\n", result);return 0;
}
9.3 运行结果
运行前:

运行后:

10. _wsearchenv
10.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wsearchenv(const wchar_t* file, const wchar_t* envvar, wchar_t* pathname); | 用于在指定的路径中查找指定的文件名 |
参数:
- file : 要查找的文件名
- envvar: 可选参数,可以用来指定一个环境变量名,该环境变量包含一个路径列表,其中包括要搜索的文件所在的路径。如果未提供环境变量名,则函数将仅搜索当前工作目录。
- pathname : 存储找到的文件的完整路径的缓冲区。如果找到了文件,则将完整路径复制到这个缓冲区中
返回值:
- 如果找到了指定的文件,则返回一个
非零值;- 否则返回
0
注意: 该函数会先在当前工作目录中搜索指定的文件名,如果找不到,则按照提供的路径列表逐一搜索,直到找到为止。
10.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>#define MAX_PATH 200int main()
{const wchar_t* file = L"notepad.exe";wchar_t path[MAX_PATH];// 在 PATH 环境变量中查找文件_wsearchenv(file, L"PATH", path);// 打印文件的完整路径wprintf(L"Found file at: %ls\n", path);return 0;
}
10.3 运行结果

11. _wsplitpath
11.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
void _wsplitpath(const wchar_t* path, wchar_t* drive, wchar_t* dir, wchar_t* fname, wchar_t* ext); | 用于将路径名分解为其组成部分:驱动器、目录、文件名和扩展名 |
参数:
- path : 要分解的路径名
- drive : 用于存储驱动器号的缓冲区。如果路径名没有驱动器号,则该缓冲区将包含空字符串
- dir : 用于存储目录部分的缓冲区。如果路径名中不包含目录,则该缓冲区将包含空字符串
- fname : 用于存储文件名部分的缓冲区。如果路径名中既不包含文件名也不包含扩展名,则该缓冲区将包含空字符串
- ext : 用于存储扩展名部分的缓冲区。如果路径名中不包含扩展名,则该缓冲区将包含空字符串
11.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>int main()
{const wchar_t* path = L"C:\\Windows\\system32\\notepad.exe";wchar_t drive[_MAX_DRIVE];wchar_t dir[_MAX_DIR];wchar_t fname[_MAX_FNAME];wchar_t ext[_MAX_EXT];_wsplitpath(path, drive, dir, fname, ext);wprintf(L"Drive: %ls\n", drive);wprintf(L"Directory: %ls\n", dir);wprintf(L"Filename: %ls\n", fname);wprintf(L"Extension: %ls\n", ext);return 0;
}
11.3 运行结果

12. _wunlink
12.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int _wunlink(const wchar_t* filename); | 用于删除指定的文件 |
参数:
- filename : 要删除的文件的完整路径名
返回值:
- 如果删除成功,则返回值为
0;- 如果删除失败,则返回值为
-1,并且设置了全局变量errno来指示错误原因。
12.2 演示示例
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>int main()
{const wchar_t* filename = L"myfile.txt";// const wchar_t* filename = L"file1.txt";int result = _wunlink(filename);if (result != 0) {perror("Failed to delete file ");return 1;}printf("File deleted successfully.\n");return 0;
}
注意: 在实际应用中,我们需要小心谨慎使用
_wunlink()函数,因为它会永久性地删除文件,而且无法撤销。
12.3 运行结果


相关文章:
C语言函数大全-- _w 开头的函数(5)
C语言函数大全 本篇介绍C语言函数大全-- _w 开头的函数 1. _wspawnl 1.1 函数说明 函数声明函数功能int _wspawnl(int mode, const wchar_t* cmdname, const wchar_t* arglist, ...);启动一个新的进程并运行指定的可执行文件 参数: mode : 启动命令的…...
机械大专生能学会云计算吗,完全零基础的
机械大专生能学会云计算吗,完全零基础的 正常来说,大专及以上学历都能学会云计算,但是会和满足就业需求是两回事哈。如果你想通过学习就业,就需要根据当下相关岗位的普遍技术需求以及其他方面的要求,来针对性的学习和提…...
腾讯云EdgeOne为什么能让客户降本增效?
随着数字化时代的来临,各类线上互动场景不断出现,并成为人们日常工作生活中的一部分。然而,基于互联网提供线上娱乐、线上办公、线上购物等服务的企业,在复杂的全球网络环境下会遇到网络延迟不稳定的情况,海外环境更多…...
基于粒子群算法的微网经济优化调度——附Matalb代码
目录 摘要: 代码主要内容: 研究背景: 微电网模型: 粒子群算法: 运行结果: Matlab代码分享: 摘要: 提出了一种经济与环保相协调的微电网优化调度模型,针对光伏电池…...
Flink入门
目录 一、Flink简介 二、为什么选择Flink 三、与传统数据处理架构相比 四、Flinik批处理数据基础代码 五、Flink流处理基础代码 一、Flink简介 Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数 据流进行状态计算。 二、为什么选择Flink 流数据更…...
【Go微服务开发】gin+grpc+etcd 重构 grpc-todolist 项目
写在前面 最近稍微重构了之前写的 grpc-todolist 模块 项目地址:https://github.com/CocaineCong/grpc-todoList 1. 项目结构改变 与之前的目录有很大的区别 1.1 grpc_todolist 项目总体 1.1.1 改变前 grpc-todolist/ ├── api-gatway // 网关模块 ├── ta…...
单板硬件设计:存储器SD卡( NAND FLASH)
在单板设计中,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计: 1、存储器介绍 存储器的分类大致可以划分如下: ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数…...
C++实现日期类Date(超详细)
个人主页:平行线也会相交💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇 希望我们一起努力、成长&…...
实验室检验系统源码,集检验业务、质量控制、报告、统计分析、两癌等模块于一体
云 LIS 系统针对区域化 LIS 而设计,依托底层云架构,将传统的 LIS 功能模块进行“云化”。 该系统是集检验业务、科室管理、质量控制、报告、统计分析、两癌等模块于一体的数据检验信息平台。通过计算机联网,实现各类仪器数据结果的实时自动接…...
学习RHCSA的day.03
目录 2.6 Linux系统的目录结构 2.7 目录操作命令 2.8 文件操作命令 2.6 Linux系统的目录结构 1、Linux目录结构的特点 分区加载于目录结构: 使用树形目录结构来组织和管理文件。整个系统只有一个位于根分区的一个根目录(树根)、一棵树。…...
电子邮件协议(SMTP,MIME,POP3,IMAP)
SMTP 关键词: 电子邮件协议:SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口,C/S工作。仅传送ASCII码文本 详细介绍: SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上…...
Golang笔记:使用embed包将静态资源嵌入到程序中
文章目录 目的使用演示//go:embed 指令在WebServer中应用总结 目的 Golang编译程序默认是静态编译,会把相关的库都打包到一起,这在分发部署使用时非常方便。不过如果项目中用到的外部的静态资源文件,通常就需要将这些资源和程序一起拷贝分发…...
ImportError: cannot import name ‘OldCsv‘ from ‘pyflink.table.descriptors‘
我最近开始使用flink用于数据处理。 当我尝试执行table api 用于计数时 我不能导入OldCsv and FileSystem from pyflink.table.descriptors. I have also downloaded apache-flink using: pip install apache-flink [rootmaster flink]# pip3 list | grep flink apache-fli…...
YouCompleteMe(YCM)安装
vim在各个linux版本中是个比较好编辑器,反正nano我是用不惯。但这个ycm的安装也是不断的在变,现在的安装比之前要简单的多,基本个几命令就搞定了,而且 也不用关心系统里有没有vim,ycm已经可以自动安装。具体安装步骤如下ÿ…...
day33_css
今日内容 零、 复习昨日 一、CSS 零、 复习昨日 见代码 一 、引言 1.1CSS概念 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文…...
10个最流行的向量数据库【AI】
矢量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。 每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。 推荐:用 NSDT场景设计器 快速搭建3D场景。 矢量数据库&…...
vite3+vue3 项目打包优化二 —— 依赖分包策略
在没有配置构建工具的分包功能时,构建出来的文件将无比巨大且是独立的一个 js 和 css 文件(如下图),这样本地加载文件时会存在巨大的压力。 默认情况下,浏览器重复请求相同名称的静态资源时,会直接使用缓存…...
中国社科院与美国杜兰大学金融管理硕士——与时间赛跑,充分利用每一分钟
不管你愿不愿意,时间总是在不经意间流去。林清玄在《和时间赛跑》中写道:“虽然我知道人永远跑不过时间,但是可以比原来快跑几步。那几步虽然很小很小,但作用却很大很大”。是的,我们需要与时间赛跑,充分利…...
什么是Dirichlet分布?
Dirichlet分布是一种概率分布,用于描述多维随机变量的概率分布。它是一个连续分布,通常用于处理具有多种可能取值的离散型随机变量。在LDA模型中,Dirichlet分布通常被用作先验分布,用来表示主题的概率分布和单词的概率分布。 Dir…...
web前端开发需要哪些技术?学前端顺序千万千万不要搞错啦!
宝子们,下午好,之前给大家分享了前端岗位的前景规划,小源看的出来,还是有不少宝子想入行前端的! 那除了会面试,还要有充足丰富的知识储备,需要什么技术,怎么样做才能找到高薪工作呢&…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
