卖域名的网站/上海网站建设联系方式
一.求字符串长度
1.strlen()
(1)基本概念
头文件:<string.h>
(2)易错点:strlen()的返回值为无符号整形
#include<stdio.h>
#include<string.h>
int main()
{const char* str1 = "abcdef";const char* str2 = "bbb";printf("%u\n", strlen(str2) - strlen(str1));printf("%d\n", strlen(str2) - strlen(str1));return 0;
}
两个strlen函数的返回值相减,得到的结果为无符号整数的形式
#include<stdio.h>
#include<string.h>
int main()
{const char* str1 = "abcdef";const char* str2 = "bbb";if (strlen(str2) - strlen(str1) > 0){printf(">\n");}else{printf("<\n");}return 0;
}
(3)模拟实现
#include<stdio.h>
#include<string.h>
size_t my_strlen(const char* str1)
{size_t count=0;while (*str1++){count++;}return count;
}
int main()
{const char* str1 = "abcdef";size_t len=my_strlen(str1);printf("%u",len);return 0;
}
二.长度不受限制的字符串函数
1.strcpy()——将源字符串复制给目标字符串
(1)基本概念
头文件:<string.h>
#include<stdio.h>
#include<string.h>
int main()
{char name[20] = {0};//目标字符串的空间要足够大,否则会出现数组越界现象char arr[20] = "hhhhhhhhhh";strcpy(name,arr);//arr为字符串首元素的地址//strcpy(目标字符串首元素地址,字符串常量首元素地址)//'\0'也会被复制到目标字符串printf("%s\n",name);strcpy(name,"ycy");printf("%s",name);return 0;
}
(2)易错点:目标空间不够大时,字符串的复制还是会进行,代价是通过数组越界来实现的
(3)模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strcpy(char* name,char* arr)
{assert(name&&arr);char* p = name;while (*name++=*arr++) //赋值语句的返回值为左操作数的值,当*arr将'\0'赋值给*name时结束循环{}return p;
}
int main()
{char name[20] = {0};char arr[20] = "hhhhhhhhhh";my_strcpy(name,arr);printf("%s",name);return 0;
}
2.strcat()——字符串追加
(1)基本概念
头文件<string.h>
(2)模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strcat(char* arr1,char* arr2)
{char* p = arr1;//将地址移动至\0处while (*arr1){arr1++;}//从\0处开始拷贝arr2//h e l l o \0——arr1// w o r l d \0——arr2//h e l l o w o r l d \0 ——追加后的arr1while (*arr1++ = *arr2++){}return p;
}
int main()
{char arr1[20] = "hello";char arr2[20] = " world";my_strcat(arr1,arr2);printf("%s",arr1);return 0;
}
3.strcmp()——字符串比较
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello";char arr2[20] = "world";int p=strcmp(arr1,arr2);//strcmp函数会将两个字符串的每个字符依次比较//若出现不相等则停止比较//前一个操作符的元素大于后一个操作符的元素,则会输出一个大于零的整数//前一个操作符的元素小于后一个操作符的元素,则会输出一个小于零的整数、//等于则输出0if (p > 0){printf("arr1>arr2\n");}else if (p == 0){printf("arr1==arr2\n");}else{printf("arr1<arr2\n");}return 0;
}
(2)模拟实现
include<stdio.h>
#include<string.h>
#include<assert.h>
int my_strcmp(char* arr1,char* arr2)
{assert(arr1&&arr2);while (*arr1==*arr2) //相同的情况下,判断下一位是否也相同,不相同则退出循环{if (*arr1=='\0'||*arr2=='\0') //若有其中一个字符串到达末尾,则退出循环{break;}arr1++;arr2++;}return *arr1 - *arr2; //不相同则相减返回差值
}
int main()
{char arr1[20] = "hello";char arr2[20] = "hello";int p=my_strcmp(arr1,arr2);if (p > 0){printf("arr1>arr2\n");}else if (p == 0){printf("arr1==arr2\n");}else{printf("arr1<arr2\n");}return 0;
}
三.长度受限制的字符串函数介绍
1.strncpy() ——可控制,复制字符串元素
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
int main()
{char arr1[20] = "abcdef";char arr2[] = "bit";strncpy(arr1,arr2,3);printf("%s\n",arr1);return 0;
}
(2)易错点:当要复制的元素个数大于原字符串时,多出来的位置会用\0代替
#include<stdio.h>
#include<string.h>
int main()
{char arr1[20] = "abcdef";char arr2[] = "bit";strncpy(arr1,arr2,5);printf("%s\n",arr1);return 0;
}
(3)模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strncpy(char* arr1,char* arr2,size_t x)
{assert(arr1&&arr2); char *p= arr1;int i;int len = strlen(arr2);for (i = 0; i < x; i++){if (i>len){*arr1++ = '\0';}else{*arr1++ = *arr2++;}}return p;
}
int main()
{char arr1[20] = "abcdef";char arr2[] = "bit";my_strncpy(arr1,arr2,5);printf("%s\n",arr1);return 0;
}
2.strncat()——可控制,链接字符串元素
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello";char arr2[] = "bit";strncat(arr1,arr2,3);printf("%s\n",arr1);return 0;
}
(2)易错点:需要链接的元素个数小于原字符串时,会在链接相应数量元素的同时多链接一个'\0' .元素个数大于原字符串时,不会用'\0'填补
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello";char arr2[] = "bit";strncat(arr1,arr2,5);printf("%s\n",arr1);return 0;
}
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello";char arr2[] = "bit";strncat(arr1,arr2,1);printf("%s\n",arr1);return 0;
}
(3)模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strncat(char* arr1,char*arr2,size_t x)
{assert(arr1&&arr2);int len = strlen(arr2);char* p = arr1;while (*arr1 != '\0'){arr1++;}if (x >= len){while (*arr2){*arr1++ = *arr2++;}}else{for (int i = 0; i < x; i++){*arr1++ = *arr2++;}*arr1 = '\0';}return p;
}
int main()
{char arr1[20] = "hello";char arr2[] = "bit";my_strncat(arr1,arr2,5);printf("%s\n",arr1);return 0;
}
3.strncmp()——可控制,比较字符串元素
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello";char arr2[] = "bit";int ret=strncmp(arr1,arr2,3);if (ret > 0){printf("arr1>arr2");}else if (ret == 0){printf("arr1==arr2");}else{printf("arr1<arr2");}return 0;
}
四.字符串查找
1.strstr()——在一个字符串中查找另一个字符串是否存在
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{char arr1[20] = "hello bit world";char arr2[] = "bit";char*ret = strstr(arr1,arr2);//ret为寻找到字串位置的首地址if (ret == NULL){printf("所寻找的子串不存在\n");}else{printf("%s",ret);//从地址处往后输出}return 0;
}
(2)模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strstr(const char* str1, const char* str2)
{assert(str1&&str2); //判断参数不为空const char* s1 = str1;const char* s2 = str2;const char* p = str1;while (*p) //被查找的字符串不为空{s1 = p;s2 = str2; //始终指向查找字符串的首元素地址while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2) //都不为空且相等时进入循环{s1++;s2++;}if (*s2 == '\0') //如果退出循环时查找字符串到最后都是相等的,则说明查找成功{return p; //返回查找到的首地址}p++; //若查找途中存在不相同的,则被查找字符串指针向后一位}return NULL;
}
int main()
{char arr1[20] = "hello bit world";char arr2[] = "bit";char* ret = my_strstr(arr1, arr2);//ret为寻找到字串位置的首地址if (ret == NULL){printf("所寻找的子串不存在\n");}else{printf("%s", ret);//从地址处往后输出}return 0;
}
2.strtok()——切割字符串
(1)基本概念
头文件<string.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{const char* sep = '@'; //分隔符char email[] = "zhangpengwei@bietejieyeke.com"; //被分割的字符串strtok(email,sep); //因为strtok函数会将遇到的第一个分隔符改为'\0',
//并返回分隔符的指针,将改变原有字符串
//__________________________________________________________________________________//若不想原有字符串被改变则采用如下操作char cp[] = {0};strcpy(cp,email);strtok(cp,sep);return 0;
}
(2)简单应用
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{const char* sep = "@."; //分隔符char email[] = "zhangpengwei@bietejieyeke.com"; //被分割的字符串char cp[30] = {0};strcpy(cp,email); //strtok函数有记忆功能,执行完后会保存上一个分隔符的地址,下一次调用时从该地址往后查找char* ret=strtok(cp,sep);printf("%s\n",ret);ret = strtok(NULL,sep); //所以除第一次调用,多次调用时不需要传入参数,所以传入NULLprintf("%s\n", ret);ret = strtok(NULL, sep);printf("%s\n", ret);return 0;
}
(3)优化
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{const char* sep = "@."; //分隔符char email[] = "zhangpengwei@bietejieyeke.com"; //被分割的字符串char cp[30] = {0};strcpy(cp,email); char* ret = NULL;for (ret = strtok(cp, sep); ret != NULL; ret=strtok(NULL, sep)){printf("%s\n",ret);}return 0;
}
五.错误信息报告
1.strerror()——返回错误码所对应的错误信息
(1)基本概念
#include<stdio.h>
#include<string.h>
#include<assert.h>
int main()
{//c语言的库函数在执行失败的时候,都会设置相应的错误码//0 1 2 3 4 5 6 7 8 ......//strerror()可以返回错误码所对应的错误信息printf("%s\n", strerror(1));printf("%s\n", strerror(2));printf("%s\n", strerror(3));printf("%s\n", strerror(4));printf("%s\n", strerror(5));printf("%s\n", strerror(6));printf("%s\n", strerror(7));printf("%s\n", strerror(8));return 0;
}
(2)简单应用
#include<stdio.h>
#include<string.h>
#include<assert.h>
#include<errno.h>
int main()
{//打开文件的函数为fopen()//"r"表示以读的形式打开//返回的是FILE型的指针,如果打开失败会返回空指针(NULL)FILE* pf = fopen("text.txt","r");//若打开的文件在程序路径下,可以使用相对路径(文件名)fopen("C:\\Users\\admin\\Desktop\\text2.text","r");//在其他位置要使用绝对路径,单个'\'会被识别为转义字符,所以要再加一个'\'//打开文件失败后,fopen函数会将错误码存储在errno中//errno—C语言设置的一个全局的错误码存储变量//只要发生错误,都会把错误码存在errno中—始终记录最新的错误码//调用errno需要应用头文件<errno.h>if (pf == NULL){printf("%s", strerror(errno));}return 0;
}
六.字符分类函数 ——头文件<ctype.h>
重点:应用
举例:isspace()——判断空白字符
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{printf("%d\n", isspace('x'));printf("%d\n", isspace(' '));return 0;
}
1、iscntrl()——判断是否是控制字符(任何控制字符)
功能
判断是否是控制字符(任何控制字符)
返回值
若返回值为非0数字,则为控制字符,若返回0,则不是控制字符。
2、isspace()——判断是否是空白字符
功能:
判断是否是空白字符(空格、换页/f、换行\n,回车\r,制表符\t或者垂直制表符\v)
返回值:
若返回值为非0数字,则为空白字符,若返回0,则不是空白字符。
3、isdigit()——判断是否是十进制数字字符
功能:
判断是否是十进制数字字符(0-9)
返回值:
若返回值为非0数字,则为十进制数字字符,若返回0,则不是十进制数字字符。
4、isxdigit()——判断是否是十六进制数字字符
功能:
判断是否是十六进制数字字符(包括所有十进制数字,小写字母a-f,大写字母A-F)
返回值:
若返回值为非0数字,则为十六进制字符,若返回0,则不是控制字符。
5、islower()——判断是否是小写字母
功能:
判断是否是小写字母(a-z)
返回值:
若返回值为非0数字,则为小写字母字符,若返回0,则不是小写字母字符
6、isupper()——判断是否是大写字母
功能:
判断是否是大写字母(A-Z)
返回值:
若返回值为非0数字,则为大写字母字符,若返回0,则不是大写字母字符。
7、isalpha()——判断是否是字母字符
功能:
判断是否是字母字符(a-z或A-Z)
返回值:
返回值为非0数字则为控制字符,返回0则不是控制字符。
8、isalnum()——判断是否是字母字符或者数字字符
功能:
判断是否是字母字符或者数字字符(a-z、A-Z、0-9)
返回值:
若返回值为非0数字,则为字母字符或数字字符,若返回0,则不是字母字符或数字字符。
9、ispunct()——判断是否是标点符号字符
功能:
判断是否是标点符号字符(任何不属于数字或字母的图形字符)
返回值:
若返回值为非0数字,则为标点符号,若返回0,则不是标点符号。
10、isgraph()——判断是否是图形字符
功能:
判断是否是图形字符(任何图形字符)
返回值:
若返回值为非0数字,则为图形字符,若返回0,则不是图形字符。
11、isprint()——判断是否是可打印字符
功能:
判断是否是可打印字符(包括图形字符和空白字符)
返回值:
若返回值为非0数字,则为可打印字符,若返回0,则不是可打印字符。
七.字符转换函数
1.tolower(int c) ——字符转小写
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{printf("%c\n",tolower('H'));return 0;
2.toupper(int c) ——字符转大写
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{printf("%c\n",toupper('h'));return 0;
相关文章:

(c语言进阶)字符串函数、字符分类函数和字符转换函数
一.求字符串长度 1.strlen() (1)基本概念 头文件:<string.h> (2)易错点:strlen()的返回值为无符号整形 #include<stdio.h> #include<string.h> int main() {const char* str1 "abcdef";const char* str2 "bbb&q…...

解决MySQL大版本升级导致.Net(C#)程序连接报错问题
数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21 数据升级完成后,直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…...

Java 将对象List转为csv文件并上传远程文件服务器实现方案
问题情景: 最近项目中遇到了根据第三方系统传递过来的参数,封装为List<实体类对象>后,将该实体类转换为csv文件,然后上传到远程的sftp服务器指定目录的需求。 实现思路: List<实体类对象>转为csv文件的…...

分享8个分布式Kafka的使用场景
Kafka 最初是为海量日志处理而构建的。它保留消息直到过期,并让消费者按照自己的节奏提取消息。与它的前辈不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK࿰…...

【再见了暗恋对象 朋友们看完之后的一些感悟】
【再见了暗恋对象】写完之后魏野是我的第一个读者,魏野的反应是:这就是青春啊,喜欢了一个不喜欢自己的人而且男生觉得很困扰女孩子喜欢被牵引着走,但是男孩子牵引就是因为不喜欢这个女孩子,好可怜!青春就这…...

JSON和Protobuf序列化
文章目录 一、粘包和拆包1、半包问题2、半包现象原理 二、JSON协议通信1、通用类库2、JSON传输的编码器和解码器 三、Protobuf协议通信1、一个简单的proto文件的实践案例2、生成POJO和Builder3、消息POJO和Builder的使用案例1)构造POJO消息对象2)序列化和…...

lambda表达式 - c++11
文章目录: lambda表达式概念lambda表达式语法函数对象与lambda表达式 lambda表达式概念 lambda 表达式是 c11 中引入的一种匿名函数,它可以在需要函数对象的地方使用,可以用作函数参数或返回值。lambda 表达式可以看作是一种局部定义的函数对…...

509. 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 n > 1给定 n &a…...

四、[mysql]索引优化-1
目录 前言一、场景举例1.联合索引第一个字段用范围查询不走索引(分情况)2.强制走指定索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描5.like 后% 一般情况都会走索引(索引下推) 二、Mysql如何选择合适的索…...

PyTorch入门学习(九):神经网络-最大池化使用
目录 一、数据准备 二、创建神经网络模型 三、可视化最大池化效果 一、数据准备 首先,需要准备一个数据集来演示最大池化层的应用。在本例中,使用了CIFAR-10数据集,这是一个包含10个不同类别图像的数据集,用于分类任务。我们使…...

0基础学习PyFlink——用户自定义函数之UDF
大纲 标量函数入参并非表中一行(Row)入参是表中一行(Row)alias PyFlink中关于用户定义方法有: UDF:用户自定义函数。UDTF:用户自定义表值函数。UDAF:用户自定义聚合函数。UDTAF&…...

英语小作文模板(06求助+描述;07描述+建议)
06 求助描述: 题目背景及要求 第一段 第二段 第三段 翻译成中文 07 描述+建议: 题目背景及要求 第一段 第二段...

为什么感觉假期有时候比上班还累?
假期比上班还累的感觉可能由以下几个原因造成: 计划过度:在假期里,人们往往会制定各种计划,如旅游、聚会、休息等,以充分利用这段时间。然而,如果这些计划过于紧张或安排得过于紧密,就会导致身…...

推理还是背诵?通过反事实任务探索语言模型的能力和局限性
推理还是背诵?通过反事实任务探索语言模型的能力和局限性 摘要1 引言2 反事实任务2.1 反事实理解检测 3 任务3.1 算术3.2 编程3.3 基本的句法推理3.4 带有一阶逻辑的自然语言推理3.5 空间推理3.6 绘图3.7 音乐3.8 国际象棋 4 结果5 分析5.1 反事实条件的“普遍性”5…...

《利息理论》指导 TCP 拥塞控制
欧文费雪《利息原理》第 10 章,第 11 章对利息的几何说明是普适的,任何一个负反馈系统都能引申出新结论。给出原书图示,本文依据于此,详情参考原书: 将 burst 看作借贷是合理的,它包含成本(报文)…...

Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)
目录 背景 内容 准备工作 在windows平台上 在linux平台上 正式工作 生成差分文件思路 作用差分文件思路 在保持相同目录结构进行差分增量升级 服务端(生成差分文件) 客户端(作用差分文件) 背景 像常见的Android 的linux平台,游戏,系统更新都…...

【3妹教我学历史-秦朝史】2 秦穆公-韩原之战
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 3妹:2哥,今天下班这么早&#…...

车载控制器
文章目录 车载控制器电动汽车上都有什么ECU 车载控制器 智能汽车上的控制器数量因车型和制造商而异。一般来说,现代汽车可能有50到100个电子控制单元(ECU)或控制器。这些控制器负责管理各种系统,如发动机管理、刹车、转向、空调、…...

回归预测 | Matlab实现RIME-CNN-SVM霜冰优化算法优化卷积神经网络-支持向量机的多变量回归预测
回归预测 | Matlab实现RIME-CNN-SVM霜冰优化算法优化卷积神经网络-支持向量机的多变量回归预测 目录 回归预测 | Matlab实现RIME-CNN-SVM霜冰优化算法优化卷积神经网络-支持向量机的多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.RIME-CNN-SVM霜冰优化算…...

使用Jaeger进行分布式跟踪:学习如何在服务网格中使用Jaeger来监控和分析请求的跟踪信息
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

添加多个单元对象
开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码 demo解决问题:不同阶段添加多个单元对象。 定义一个点集和一个单元集合,单元的类型可以是点、三角形、矩形、多边形等基本图形。只…...

十八、模型构建器(ModelBuilder)快速提取城市建成区——批量掩膜提取夜光数据、夜光数据转面、面数据融合、要素转Excel(基于参考比较法)
一、前言 前文实现批量投影栅格、转为整型,接下来重点实现批量提取夜光数据,夜光数据转面、夜光数据面数据融合、要素转Excel。将相关结果转为Excel,接下来就是在Excel中进行阈值的确定,阈值确定无法通过批量操作,除非采用其他方式,但是那样的学习成本较高,对于参考比较…...

HarmonyOS开发:基于http开源一个网络请求库
前言 网络封装的目的,在于简洁,使用起来更加的方便,也易于我们进行相关动作的设置,如果,我们不封装,那么每次请求,就会重复大量的代码逻辑,如下代码,是官方给出的案例&am…...

【杂记】Ubuntu20.04装系统,安装CUDA等
装20.04系统 安装系统的过程中,ROG的B660G主板,即使不关掉Secure boot也是可以的,不会影响正常安装,我这边出现问题的主要原因是使用了Ventoy制作的系统安装盘,导致每次一选择使用U盘的UEFI启动,就会跳回到…...

040-第三代软件开发-全新波形抓取算法
第三代软件开发-全新波形抓取算法 文章目录 第三代软件开发-全新波形抓取算法项目介绍全新波形抓取算法代码小解 关键字: Qt、 Qml、 抓波、 截获、 波形 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object …...

分享一个基于asp.net的供销社农产品商品销售系统的设计与实现(源码调试 lw开题报告ppt)
💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…...

Java基于SpringBoot的线上考试系统
1 摘 要 基于 SpringBoot 的在线考试系统网站,功能模块具有课程管理、成绩管理、教师管理、学生管理、考试管理以及基本信息的管理等,通过将系统分为管理员、授课教师以及学生,从不同的身份角度来对用户提供便利,将科技与教学模式…...

flask socketio 实时传值至html上【需补充实例】
目前版本如下 Flask-Cors 4.0.0 Flask-SocketIO 5.3.6from flask_socketio import SocketIO, emit 跨域问题网上的普通方法无法解决。 参考这篇文章解决 Flask教程(十九)SocketIO - 迷途小书童的Note迷途小书童的Note (xugaoxiang.com) app Flask(__name__) socketio Sock…...

C# Onnx P2PNet 人群检测和计数
效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…...

idea提交代码一直提示 log into gitee
解决idea提交代码一直提示 log into gitee问题 文章目录 打开setting->Version control->gitee,删除旧账号,重新配置账号,删除重新登录就好 打开setting->Version control->gitee,删除旧账号,重新配置账号,删除重新登…...