函数(new)

2023-05-16

函数(new)

一、字符串处理函数

1.字符串的输入

(1)scanf()

#include <stdio.h>
int mian()
{
    char buf[100]={0};
    printf("请输入字符串:");
    scanf("%s",buf);//不需要&,默认以空格分开
    printf("buf=%s\n",buf);
    
    char tmp[100]={0};
    printf("请输入字符串:");
    scanf("%s",tmp);
    printf("tmp=%s\n",tmp);
    //用户输入hello dd
    //scanf("%s",buf);
    //取第一个空格前的字符串即取hello
    //scanf("%s",tmp);
    //取缓冲区剩下的内容,即dd,\n不取
    return 0;
    //scanf()的缺陷,不做越界检查,此函数不安全
}

(2)gets()

#include <stdio.h>
char *gets(char *s);
//功能:从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或文件结尾为止
//参数:s:字符串首地址
//返回值:
//成功:读入的字符串
//失败:NULL

#include <stdio.h>
int main()
{
    char buf[100];
    //gets()从键盘读取字符串,放在指定的数组
    //gets()允许有空格,不做越界检查,此函数不安全
    gets(buf);
    printf("but=%s\n",buf);
    
    return 0;
}

(3)fgets()

#include <stdio.h>
char *fgets(char *s,int size,FILE *stream);
//功能:从stream指定的文件内读入字符,保存到s所指定的内存空间,直到出现换行字符,读到文件结尾或是已读了size-1个字符,最后会自动加上字符'\0'作为字符串结束
//参数:
//s:字符串
//size:指定最大读取字符串的长度(size-1)
//stream:文件指针,如果读键盘输入的字符串,固定写为stdin
//返回值:
//成功:成功读取的字符串
//读到文件尾或出错:NULL
#include <Stdio.h>
int main()
{
    char but[10];
    //从stdin(代表标准输入,键盘),读取内容
    //如果输入内容如果大于sizeof(buf)-1,只取sizeof(buf)-1,放在buf所在的数组
    //会把换行符也读进去
    fgets(buf,sizeof(buf),stdin);
    printf("buf=%s\n",buf);
    
    return 0;
}

2.字符串的输出

(1)printf()

(2)puts()

#include <Stdio.h>
int puts(const char *s);
//功能:标准设备输出s字符,在输出完成后自动输出一个'\n'
//参数:
//s:字符串首地址
//返回值
//成功:非负数
//失败:-1
#include <stdio.h>
int main()
{
    char buf[]="hello"puts(buf);//把buf内容输出到屏幕,自动在屏幕加换行,是在屏幕加,字符本身没有变量
    printf("%s",buf);//没有加换行符
    
    return 0}

(3)fgets()

#include <stdio.h>
int fputs(const char *str,FILE * stream);
//功能:将str所指定的字符串写入到stream指定的文件中,字符串结束符'\0'不写入文件
//参数:
//str:字符串
//stream:文件指针,如果把字符串输出到屏幕,固定写为stdout
//返回值:
//成功:0
//失败:-1
#include <stdio.h>
int main()
{
    char buf[]="hello";
    //往stdout(代表屏幕,标准输出)输出buf内容
    fputs(buf,stdout);
    
    return 0;
}

3.strlen的使用

#include <Stdio.h>
#include <string.h>//strlen()的头文件
size_t strlen(const char *s);
//功能:计算指定指定字符串s的长度,不包含字符串结束符'\0'
//参数:
//s:字符串首地址
//返回值:字符串s的长度,size_t为unsigned int类型
#include <stdio.h>
#include <string.h>

int main()
{
    char buf[]="hello";
    //strlen需要使用返回值,返回值就是字符串的长度
    //从首元素开始,到结束符为止的长度,结束符不算(遇到'\0'结束)
    int len=strlen(buf);
    printf("len=%d\n",len);//5
    printf("sizeof(buf)=%lu\n",sizeof(buf));//6 多了一个结束符\0
    
    char buf2[]="\0hello";
    len=strlen(buf2);
    printf("len2=%d\n",len)//0
    //sizeof是测数据类型的长度,不会因为结束符提前结束
    printf("sizeof(buf2)=%lu\n",sizeof(buf2 ));//7
    
    char str[100]="mike";
    printf("strlen(str)=%lu\n",strlen(str));//4
    printf("strlen(str)=%lu\n",sizeof(str));//100
    
}

4.字符串的拷贝

(1)strcpy()

#include <stdio.h>
#include <string.h>

int main()
{
    char src[100]="hello mike";//源字符串
    char dst[100];//目的
    
    //功能:把src字符数组的内容拷贝给dst所代表的数组
    strcpy(dst,src);//不可dst=src是因为二者均为常量,不可改变
    printf("dst=%s\n",dst);
    
    //拷贝原理:从首元素开始,遇到结束符'\0'结束
    char src2[100]="hello\0 mike";//原字符串
    char dst2[100];//目的
    
    strcpy(dst2,src2);
    printf("dst2=%s\n",dst);//hello
    
    return 0;
}

(2)strncpy()

#include <stdio.h>
#include <string.h>

int main()
{
    char src[100]="hello\0 mike";//原字符串
    char dst[100];//目的
    //功能:把src字符数组前8个字符的内容拷贝给dst所代表的数组
    //可以把'\0'拷贝过去,但是'\0'后面的内容无法拷贝
    strcnpy(dst,src,8);
    printf("dst=%s\n",dst);//hello 因为仍遇到结束符
    printf("dst=%s\n",)
    
    return 0;
    
}

(3)数组越界测试

char src[100]="uiuiuiybuiuyfydtvyvub";
char dst[10];
strcpy(dst,src);

5.字符串的比较

比较每个字符的ASCII

(1)strcmp()

#include<string.h>
int strcmp(const char *s1,const char *s2);
//功能:比较s1与s2的ASCII的大小
//参数:
//s1字符串1的首地址
//s2字符串2的首地址
//返回值:
//相等:0
//大于:>0
//小于:<0
#include <stdio.h>
#icnlude <string.h>

int main(int argc,char *argv[])
{
    char s1[]="abc";
    char s2[]="abcd";
    
    int flag=strcmp(s1,s2);
    int flag=strncmp(s1,s2,3)//加个n代表比较前3个字符
    if(flag>0)
    {
        printf("[%s]>[%s]\n",s1,s2);
    }
    
    else if(flag<0)
    {
        printf("[%s]<[%s]\n",s1,s2);
    }
    
    else
    {
        printf("[%s]==[%s]\n",s1,s2);
    }
}

6.字符串的追加

(1)strcat()

#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
    char src[]="hello mike";
    char dst[100]="abc";
    //把src的内容追加到dst的后面
    strcat(dst,src)strncat(dst,src,strlen("hello"));//指定长度追加
    printf("dst=%s\n",dst;//dst="abc hello mike")
}

7.sprintf的使用

#include <stdio.h>

int main(int argc,char *argv[])
{
    int a=10;
    char ch='d';
    char buf[]="hello";
    
    //格式化一个字符串,把这个字符串输出到屏幕上
    printf("a=%d,ch=%c,buf=%s\n",a,ch,buf);
    
    char dst[100];
    //格式化一个字符串。把这个字符串输出到(保存在)指定的数组
    sprintf(dst,"a=%d,ch=%c,buf=%s\n",a,ch,buf);
    
    printf("@@%s@@",dst);
    
    return 0;
}

8.sscanf()的使用

#include <stdio.h>

int sscanf(const char *str,const char *format,...);
//功能:从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据
//参数:
//str:指定的字符串首地址
//format:字符串格式,用法和scanf()一样
//返回值:
//成功:参数数目,成功转换的值的个数
//失败:-1
#include <stdio.h>

int main()
{
    char buf[]="1 2 3";
    int a,b,c;
    //从buf中以指定的格式提取内容
    sscanf(buf,"%d %d %d",&a,&b,&c);
    printf("a=%d,b=%d,c=%d\n",a,b,c);
    
    char str1[]="a=1,b=2,c=3";
    a=0;
    b=0;
    c=0;
    sscanf(str,"a=%d,b=%d,c=%d",&a,&b,&c);
    printf("a1=%d,b1=%d,c1=%d\n",a,b,c);
    
    char str2[]="1,2,3";
    a=0;
    b=0;
    c=0;
    sscanf(str,"%d,%d,%d",&a,&b,&c);
    printf("a2=%d,b2=%d,c2=%d\n",a,b,c);
    
    char tmp[]="abc mike 250";//提取字符串,默认以空格分隔,可以提取
    char m[10],n[10],k[10];
    sscanf(tmp,"%s %s %s",m,n,k);//不用&,以因为数组名就是首元素地址
    
    return 0;
}

9.字符串查询

(1)strchr()用于查询char类型

#include <string.h.>
char *strchr(const char *s,int c);
//功能;在字符串中查找字母出现的位置
//参数:
//s字符串首地址
//c匹配字母(字符)
//返回值;
//成功:返回第一次出现的地址
//失败;NULL
#include <stdio.h>
#include <string.h>

int main(int argc,int *argv[])
{
    char buf[]="acbdefg";
    //在buf中查询字符d,如果找到,返回d所在位置的地址
    //如果查询失败,返回NULL
    char *p=strchr(buf,'p')
    if(p=NULL)
    {
        printf("查询失败\n")
    }
    else
    {
        printf("p=%s\n",p);//得到defg,打印d以后的字符
    }
}

(2)strstr()用于查询string类型

#include <string.h>
char *strstr(const char *haystack,const char *needle);
//功能:在字符串haystrack中查找字符串needle出现的位置
//参数:
//haystrack:源字符串首地址
//needle:匹配字符串首地址
//返回值:
//成功:返回第一次出现的needle地址
//返回值:
//成功:返回第一次出现的needle的地址
//失败:NULL
     
#include <stdio.h>
#include <string.h>

int main(int argc,int *argv[])
{
    char buf[]="abcdefg";
    //在buf中查询字符串“cde”,如果找到,返回d所在位置的地址
    //如果查询失败,返回NULL
    char *p=strstr(buf,"cde")
    if(p=NULL)
    {
        printf("查询失败\n")
    }
    else
    {
        printf("p=%s\n",p);//得到defg,打印d以后的字符
    }
}

10.字符串的切割

(1)strtok()

#include<string.h>
char *strtok(char *str,const char *delim);
//功能:来将字符串分割成一个个片段,当strtok()在参数的字符串中发现参数delim中包含的分割字符时,则会将改字符改为0字符,当连续出现多个时只替换第一个为0
#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
    char buf[]="abc,mike,jiang,250";
    
    //第一个调研
    //第一个参数写源字符串,第二个参数写切割字符
    //返回值就是切割后的字符串
    //在匹配切割字符的地方换成结束符
    //使用strtok()会破坏原来字符串的结构
    char *p=strtok(buf,",")
    printf("p=%s\n",p);//abc
    printf("buf=%s\n",p);//abc
    printf("buf[3]=%d\n",buf[3]);//0
}

11.atoi()

#include <stdlib.h>
int atoi(const char *nptr);
//功能:atoi()会扫描nptr字符串,跳过前面的空格字符,直到遇到数字或正负号才开始做转换,而遇到非数字或字符串结束符(\0)才结束转换,并将结果返回返回值
//参数:
//nptr待转换的字符串
//返回值:成功转换后的整数

类似的函数还有:

atof():把一个小数形式的字符串转化为一个浮点数。

atol():把一个字符串转化为long类型。

char str1[]="-10";
int num1=atoi(str1);
printf("num1=%d\n",num1);

char str2[]="0.123";
double num2=atof(str2);
printf("num2=%if\n",num2);

二、函数的分类和作用

1.函数的分类

C程序是由函数组成的,我们写的代码都是由主函数main()开始执行的,函数是C程序的基本模块,是用于完成特定任务的程序代码单元。

从函数的定义角度看,函数可分为系统函数与用户定义函数两种。

(1)系统函数

即为库函数,是编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf().

(2)用户定义函数

用于解决用户的专门需要

三、函数的使用

1.无参无返回值的函数的使用

(1)无参无返回值函数的定义

// 没有返回值,用void关键字修饰
// 没有参数,可用void,也可空
// 第一个void代表返回值,fun代表函数名字,()内部表示参数,空就是无参,{}就是函数体
//同一个文件不能出现同名函数
//不同的函数内部的变量是没有关系的
void fun(void)//等价于void fun(void)
{
    //函数内部,包含()内部的变量,只有在调用时分配空间,调用完毕自动释放
    printf("abc");
    int a=10;
    int b=20;
    printf("a+b=%d\n",a+b);
     
}

int main(int argc,char *argv[])
{
    //除了主函数main(),其他函数只有调用了才起作用
    //函数的调用不可能出现void关键字
    //无参无返回值函数的调用格式:函数名字()
    //fun(void);//err
    fun();
}

(2)有参无返回值的函数

//定义函数的参数叫做形参,形惨的格式必须为:类型+变量,不可赋值
//void fun1(ina a=10)//err
//函数没有调用,形参变量不会分配空间,函数调用完毕,形参变量会自动释放
//如果形参有多个,用逗号,隔开
//void fun2(int a,char ch,char buf[100]))
void fun1(int a,char ch,char buf[100])
{
    printf("a=%d\n",a);
}

int main(int argc,char *argv[])
{
    int a=10;
    //有参无返回值函数的调用
    //如果函数定义是有参数,调用时必须传参
    //fun1();//err
    //有参数函数调用形式:函数名字(匹配类型参数)
    //匹配类型参数可以是变量、常量、表达式
    //函数调用时传的参数,叫实参
    //只能把实参的值传递给形参,不能反过来,单向传递
   //函数的形参有多个,传参也用逗号隔开
    fun1(10);//
}
    

(3)无参有返回值的使用

//无参有返回值的函数的定义
//第一个int代表函数的返回类型,函数内部通过return返回
//返回值可以是变量,常量,表达式
//函数返回值只能返回一个
//如果return的类型与返回类型不一致,以函数返回类型为准
int fun()
{
    return 10;//返回常量
}

int fun1()
{
    int a=11;
    int b=20;
    return a>b?a:b;//返回表达式
}

int fun3()
{
    return 10.11;//把10.11转换为int后再返回
}

int main(int argc,chat *argv[])
{
    //如果函数有返回值,这个函数的返回值可以不用
    fun()//ok这个函数的返回值可以不用
    //如果使用返回值,最好要定义匹配类型的变量来接收
    int a=fun();
    printf("a=%d\n",a);
    
    int b;
    b=fun();
    printf("b=%d\n",b);
    
    printf("tmp=%d\n",fun());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数(new) 的相关文章

  • JS中new Date().format("YYYY-mm-dd")提示format is not a function的解决办法

    format方法已经被移除了 xff0c 赶快换个组件 xff01 如果是个懒人 xff0c 就不要再看那些自己写方法大神给的函数了 xff01 xff01 用moment xff0c npm一下子就能装好 xff0c 很好用 xff01
  • 浅谈重载new操作符

    new是C 43 43 里非常重要的一个关键词 xff0c 用于申请内存 初始化对象 俗话说 有借有还再借不难 xff0c 通过new向操作系统 借 到的内存用完后必然要 还 回去 xff0c 所以对应地还有一个delete操作符与new共
  • delete释放new[] 以及 delete[]释放new 的问题

    在同花顺 的笔试过程中遇到这么一个类似问题 A ptr 61 new A 10 for int i 61 0 i lt n i 43 43 delete amp ptr i 由此衍生出两个问题 new 申请的空间用delete释放会发生什么
  • New Timeline的Toolbar样式设计

    最近在做新版的Timeline xff0c Toolbar Menu 的功能基本完成 xff0c 因此把截图拿出来与各位博友分享一下 新版Timeline HTML版本 主页面 xff1a 这次主要讲解一下Toolbar Menu 的功能
  • 重载new/delete运算符

    下面介绍用重载new delete运算符的方式来实现一个简单的内存泄露检测工具 xff0c 基本思想是重载全局new delete运算符 xff0c 被检测代码调用new和delete运算符时就会调用重载过的operator new和ope
  • New Bing来了

    chatgpt免费体验入口网址 xff1a http chat xutongbao top 参考链接 xff1a https mp weixin qq com s x8RUxofqS43xkZM 5xnTAw
  • c++ new运算符是如何调用构造函数的

    文章目录 内存申请和对象构造placement new答案很简单参考链接 内存申请和对象构造 本文内容简短 xff0c 只为记录下一次思考过程 xff0c 事情起源于一句话 xff0c new操作符会调用operator new分配内存再调
  • new[]和new调用地址的简单跟踪

    重写这两个操作符 xff0c 插入打印语句 xff0c 可获得调用地址 代码如下 xff1a include lt Windows h gt include lt iostream gt include lt stdlib h gt inc
  • set_new_handler(0)

    STL源码剖析 第45页中有一行代码set new handler 0 xff09 xff1a inline T allocate ptrdiff t size T std set new handler 0 T tmp 61 T oper
  • c++中类型用new和不用new的区别

    解析一 xff1a new创建类对象 xff0c 使用完后需使用delete删除 xff0c 跟申请内存类似 所以 xff0c new有时候又不太适合 xff0c 比如在频繁调用场合 xff0c 使用局部new类对象就不是个好选择 xff0
  • QT中手动释放堆中的对象(new 出来的)

    Qt内存自动释放有两个前提条件 xff1a 1 必须是QObject的派生类 2 必须指定了parent对象 即 xff1a Qt 中 父亲被删除的时候会自动销毁他的孩子 所以如果New出来的并且没有父亲 那么则需要手动删除它 需要 xff
  • C++中malloc与new方法动态创建数组并释放

    include lt iostream gt using namespace std int main 动态创建释放一维数组 xff08 new xff09 int a 基地址 int n 61 10 数组大小 a 61 new int n
  • 一次向svn中增加所有新增文件 svn add all new files

    http wp4d sinaapp com 2012 02 19 E4 B8 80 E6 AC A1 E5 90 91svn E4 B8 AD E5 A2 9E E5 8A A0 E6 89 80 E6 9C 89 E6 96 B0 E5
  • PHP new mysqli()连接

    1 首先在mysql命令控制台新建数据库 mysql gt create database test Query OK 1 row affected 0 04 sec mysql gt use test Database changed m
  • nginx: [emerg] BIO_new_file("/etc/nginx/ssl_key/server.crt") failed (SSL: error:02001002:syste

    Centos 7 5 nginx 43 web集群配置https报错 报错信息 root 64 lb01 conf d nginx t nginx emerg BIO new file 34 etc nginx ssl key server
  • Java—内部类

    It s possible to please a class definition within another class definition 内部类即定义在另一个类的内部的类 When you create an inner cla
  • 攻防世界 web 不能按的按钮 disabled_button

    f12打开开发者工具 点击查看器这一栏 定位到它的图标处 双击进入 里面有代码如下 一般有两种方法 方法一 删除代码 disabled 然后点击网页上的flag图标就可以得到flag了 方法二 将disabled 改为disabled fa
  • C++ malloc/free/new/delete详解(内存管理)

    这里写目录标题 malloc free 典型用法 内存分配 实现过程 brk和mmap 申请小于128k的内存 申请大于128k的内存 释放内存 brk和mmap的区别 new delete 典型用法 内存分配 实现过程 new delet
  • 柯理化、mergeOptions、new的实现原理、reduce、flat

    1 什么是反柯理化 怎么实现 反柯里化 是一个泛型化的过程 它使得被反柯里化的函数 可以接收更多参数 Function prototype unCurrying function var that this return function
  • 经典C语言面试题1:malloc 和 new的区别?

    malloc free是 C C语言的标准库函数 而new delete是C 的运算符 malloc内存分配成功返回的类型为void 需要通过强制类型转换将void 转换为我们需要的类型 new内存分配失败时会抛出bac alloc异常 不

随机推荐

  • VNC Viewer方式的远程连接树莓派

    文章目录 一 工具下载二 SD卡格式化三 烧录镜像四 配置网络五 putty远程连接六 VNC Viewer远程界面显示七 参考链接 一 工具下载 树莓派镜像 https www raspberrypi org downloads rasp
  • LaTeX001

    LaTeX排版入门须知 声明 一般而言 xff0c TeX和LaTeX有着区别 xff0c 但是考虑到热门程度 xff0c 于是使用LaTeX代指相关的所有排版系统 xff0c 只有在一些情况下会采取不同的称呼 所以这并不是严谨性不够的做法
  • LaTeX002

    LaTeX文件基本设定 文件目录组成 排版文件文件名为 34 xxx tex 34 xff0c 但是这个是一个没有提前设定格式的文件 xff1b 提前设定好的格式文件是 34 xxx cls 34 xff0c 由此可以自己预先编辑一个学校的
  • LaTeX003

    LaTeX特殊字符 之前说没有服务器 xff0c 所以一般来说静态网页我是使用github托管并运行 xff0c 效果还行 xff0c 不算太a慢 但是由于安全的问题有时候脚本没有运行 xff0c 这个时候需要允许执行不安全的内容 火狐需要
  • 双拼输入法-自然码和微软双拼

    双拼输入法 双拼输入法是在拼音输入法的基础上进行了二次编码 xff0c 将全拼拆解为两部分将这两部分进行合并分配至26键上 本文介绍自然码和微软双拼 本人力荐自然码 自然码双拼输入法 码表 键全拼码键全拼码键全拼码键全拼码Qq iuFf e
  • 蓝桥杯嵌入式——考试模板构建(1)

    1 创建资源文件夹和提交文件夹 2 使用STM32CubeMX创建 资源文件工程 xff08 1 xff09 创建工程 xff08 2 xff09 找到STM32G431RBT 3 配置RCC 主时钟为外部高速时钟 xff08 4 xff0
  • virtualbox 主机ping不通虚拟机解决办法

    场景描述 xff1a virtualbox虚拟机可以ping通主机和外网 xff0c 但是主机一直无法ping通虚拟机ip xff08 10 0 2 15 xff09 xff1b 虚拟机的网络设置为nat xff08 自己添加的nat网络
  • 注册Keil软件时出现“ TOOLS.INI: TOOLCHAIN NOT INSTALLED ”的解决办法

    当我们在注册keil软件时 xff0c 出现了 TOOLS INI TOOLCHAIN NOT INSTALLED 时 xff0c 首先看一下keil软件能不能正常使用 xff0c 如果keil软件能够正常使用证明安装是正确的 xff0c
  • go redis incr的使用

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 文章目录 返回值代码示例 可用版本 xff1a gt 61 1 0 0 时间复杂度 xff1a O 1 为键 key 储存的数字值
  • MapReduce过程详解(非常全)

    MapReduce算法执行过程 核心思想 xff1a 分而治之 xff08 1 xff09 MapReduce框架使用InputFormat模块做Map前的预处理 xff0c 比如验证输入的格式是否符合输入定义 xff1b 然后 xff0c
  • HDFS读写流程(全面深入理解)

    1 HDFS写流程 xff08 1 xff09 客户端通过对FileSystem create 对象创建建文件 xff0c DistributedFileSystem会创建输出流FSDataOutputStream xff08 2 xff0
  • SHELL命令 -- 将命令的结果赋给变量

    如果想将文件夹中所有文件的名字赋给一个变量 xff0c 在shell命令中该如何实现呢 xff1f 1 使用反引号 var 61 96 ls 96 echo var 2 使用 var 61 ls echo var
  • 树莓派3B+无屏登录系统

    树莓派3B 43 无屏入门 本文章用于记录自己学习树莓派的心得和流程 xff0c 同时希望给他人一个参考 无屏入门 xff0c 并不是真正的无屏 xff0c 你需要笔记本电脑 我购买的是树莓派3b 43 无卡基础套餐 xff0c 5V2 5
  • Verilog | 4位数值比较器

    牛客上的一道题 xff0c 记录一下 这道题有两种思路 xff1a 第一种是按位比较 xff0c 列举出所有情况 xff1a module comparator 4 input 3 0 A input 3 0 B output wire Y
  • nvm切换node版本 npm版本未更新解决办法

    考虑受到全局npm影响 nvm uninstall 版本号 卸载版本号 nvm install 版本号 下载需要的版本号 删除c盘 用户配置文件下的 npmrc npmrc为全局配置文件 删除掉 恢复默认配置 nvm默认会切换npm npm
  • Ubuntu18.04——使用Remmina基于VNC协议远程连接Ubuntu客户端

    使用前需要确保被连接端已启动VNC iewer程序 安装Remmina sudo apt install remmina 使用Remmina基于VNC协议远程连接 启动remmina remmina 点击左上角的 43 修改协议为VNC 填
  • Ubuntu18.04——两台Ubuntu可以ping通但无法SSH

    问题描述 两台Ubuntu机器可以相互Ping通 xff0c 但是ssh失败 解决方法 SSH分客户端openssh client和openssh server 如果你只是想登陆别的机器的SSH只需要安装openssh client xff
  • 切换cuda版本的两种方式

    看正文之前 xff0c 最好先搞懂什么是环境变量 xff0c PATH环境变量的作用 xff0c 如何定义或修改环境变量 xff0c 软链接的概念 xff0c 什么是 bashrc文件 xff0c 如何创建软链接 xff0c 如何删除软链接
  • MySQL基础练习题

    1 xff09 查询出 goods 表中所有字段 2 xff09 查询出 goods 表中生产日期在一年前的商品 3 xff09 查询出 goods 表中商品名称中带 洗 字的商品 4 xff09 查询出 goods 表中商品编号为 2 4
  • 函数(new)

    函数 xff08 new 一 字符串处理函数 1 字符串的输入 xff08 1 xff09 scanf span class token macro property span class token directive keyword i