c++代码怎么将以逗号分割的数字分离出一个一个的数字存入数组

#include <iostream>
#include <sstream>
#include <vector>
int main() {
    std::string input = "1,2,3,4,5";
    std::vector<int> numbers;
    
    std::stringstream ss(input);
    std::string token;
    
    while (std::getline(ss, token, ',')) 
{
        int number = std::stoi(token); // 将字符串转换为整数
        numbers.push_back(number);
    }
    
    // 打印结果
    for (const auto& num : numbers) {
        std::cout << num << " ";
    }
    
    return 0;
}

/var/www/html/index.htmlubuntu安装nginx以及php的部署/var/www/html/index.html

1.安装依赖包

2.安装nginx

3.编译nginx

4.启动nginx

5.访问nginx

6.增加源地址

7.安装php

8.配置php-fpm

9.修改权限

10.配置nginx里的php

11.启动php-fpm

12.配置php文件以及权限

13.登陆查看
————————————————
版权声明:本文为CSDN博主「qq_55364077」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_55364077/article/details/132207083

1.安装依赖包

2.安装nginx

3.编译nginx

4.启动nginx

5.访问nginx

6.增加源地址

7.安装php

8.配置php-fpm

9.修改权限

10.配置nginx里的php

11.启动php-fpm

12.配置php文件以及权限

13.登陆查看
————————————————

.安装依赖包

apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev

2.安装nginx

cd /usr/local
mkdir nginx
cd nginx
tar -xvf nginx-1.18.0.tar.gz 

3.编译nginx

/usr/local/nginx/nginx-1.18.0
# 执行命令
./configure
# 执行make命令
make
# 执行make install命令
make install

4.启动nginx

cd /usr/local/nginx/sbin
# 启动nginx
./nginx

5.访问nginx

6.增加源地址

执行三条命令,添加php的源地址,更新,安装

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt-get update
    sudo apt-get install php7.2

7.安装php

    nginx使用php的话要用到php7.2-fpm,所以要安装

sudo apt-get install php7.2-mysql php7.2-fpm php7.2-curl php7.2-xml php7.2-gd php7.2-mbstring php-memcached php7.2-zip

8.配置php-fpm

    把监听端口改掉

;listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000

9.修改权限

    这边我的php里面的默认用户名是www-data,所以我把权限都改成了这个

root@ubuntu2:/usr/local/nginx# ps -ef | grep nginx
root       22906       1  0 12:39 ?        00:00:00 nginx: master process ./nginx
www-data   38492   22906  0 15:14 ?        00:00:00 nginx: worker process
root       58942    7903  0 16:05 pts/5    00:00:00 grep --color=auto nginx

10.配置nginx里的php

    打开nginx的配置文件找到php的模块 

11.启动php-fpm

sudo service php7.2-fpm start


netstat -lnt | grep 9000

查看9000端口

12.配置php文件以及权限

13.登陆查看
————————————————
版权声明:本文为CSDN博主「qq_55364077」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_55364077/article/details/132207083

PHP中call_user_func_array()函数的用法演示

call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:
第一种是调用孤独的函数:

<?php
function funa($b,$c)
{
    echo $b;
    echo $c;
}
call_user_func('funa', "111","222");
call_user_func('funa', "333","444");
//显示 111 222 333 444
//大家有没有发现,这个用法有点像javascript中的call方法,嘿嘿
?>

第二种是调用类内部的函数:

<?php
class a {
    function b()
    {
        $args = func_get_args();
        $num = func_num_args();
        print_r($args);
        echo $num;
    }
}
call_user_func(array("a", "b"),"111","222");
?>

上面这个例子,自己运行一下看看结果是什么吧~嘿嘿~提示一下
func_get_args()函数是获取传入到函数中的参数,返回一个数组
func_num_args()函数获取传入函数中的参数的个数。

下面再来看看call_user_func_array函数
这个函数也是当需要动态调用函数时用到的,它的用法和call_user_func函数比较像,只是参数传入的是数组

function a($b, $c)
{
    echo $b;
    echo $c;
}
call_user_func_array('a', array("111", "222"));
//显示 111 222
?>
call_user_func_array函数也可以调用类内部的方法的
<?php
Class ClassA
{
    function bc($b, $c) {
        $bc = $b + $c;
        echo $bc;
    }
}
call_user_func_array(array(‘ClassA','bc'), array(“111″, “222″));
//显示 333
?>

下面再看一个动态调用函数的例子:

1 <?php
 2 function f_test1($i)
 3 {
 4     echo "this function have one param ";
 5     echo $i;
 6 }
 7 
 8 function f_test2($i,$j)
 9 {
10     echo "this function have two param ";
11     echo $i,$j;
12 }
13 function f_test3($i,$j,$m)
14 {
15     echo "this function have three param ";
16     echo $i,$j,$m;
17 
18 }
19 function f_test()
20 {
21     $args = func_get_args();  //获取传过来的参数
22     $nums = func_num_args();  //获取传过来的参数个数
23     call_user_func_array('f_test'.$nums, $args);
24 }
f_test(4,5);
//输出this function have two param 45
?>

x86安装centos9

以下是在 CentOS 上安装并开启 VNC 服务的步骤:

  • 安装 VNC 服务器软件包。运行以下命令: 
sudo yum install tigervnc-server

输出$ sudo yum install tigervnc-serverLoaded plugins: fastestmirror, langpacksRepository 'epel' is missing name in configuration, using idLoading mirror speeds from cached hostfile * base: centos.mirror.far.fi * epel: epel.mirror.serveriai.lt * extras: centos.mirror.far.fi * updates: centos.mirror.far.fiResolving Dependencies--> Running transaction check---> Package tigervnc-server.x86_64 0:1.8.0-25.el7_9 will be installed--> Finished Dependency ResolutionDependencies Resolved=================================================================================================================================================================== Package Arch Version Repository Size===================================================================================================================================================================Installing: tigervnc-server x86_64 1.8.0-25.el7_9 updates 212 kTransaction Summary===================================================================================================================================================================Install 1 PackageTotal download size: 212 kInstalled size: 498 kIs this ok [y/d/N]: yDownloading packages:tigervnc-server-1.8.0-25.el7_9.x86_64.rpm | 212 kB 00:00:01Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : tigervnc-server-1.8.0-25.el7_9.x86_64 1/1 Verifying : tigervnc-server-1.8.0-25.el7_9.x86_64 1/1Installed: tigervnc-server.x86_64 0:1.8.0-25.el7_9Complete!

  • 桌面环境安装

如果你没有安装 GNOME 或 Xfce 桌面环境,则可能会导致 VNC 无法启动桌面环境。可以尝试安装一个桌面环境,并编辑 VNC 配置文件以启动该桌面环境。

例如,在 CentOS 上安装 Xfce 桌面环境可以使用以下命令:

sudo yum install epel-releasesudo yum groupinstall "Xfce"
  • 创建一个 VNC 用户账户和密码

        运行以下命令:

sudo useradd vncusersudo passwd vncuser

   在上面的命令中,将“vncuser”替换为你想要的用户名。在设置密码时,建议使用强密码。

  • 切换到 VNC 用户账户(如果你当前不在该账户下)

运行以下命令:

su - vncuser
  • 生成 VNC 配置文件

运行以下命令:

vncserver

 输出$ vncserverYou will require a password to access your desktops.Password:Password must be at least 6 characters - try againPassword:Verify:Would you like to enter a view-only password (y/n)? nA view-only password is not usedNew 'xxx:1 (xxx)' desktop is xxx:1Creating default startup script /home/xxx/.vnc/xstartupCreating default config /home/xxx/.vnc/configStarting applications specified in /home/xxx/.vnc/xstartupLog file is /home/xxx/.vnc/xxx:1.log

 在第一次运行时,你将被要求设置 VNC 服务器密码。设置密码后,系统将为你生成一个 VNC 配置文件。

  • 关闭VNC :1
vncserver -kill :1
  • 编辑 VNC 配置文件以指定 VNC 服务器的启动选项

运行以下命令:

$vi ~/.vnc/xstartup

   然后将以下代码添加到文件中: 

#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESS#/etc/X11/xinit/xinitrcstartxfce4 &[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconic &

   这将启动 xfce4 桌面环境。如果你想使用其他桌面环境,请将“startxfce4”替换为你想使用的桌面环境的启动命令。

  • 启动 VNC 服务器

运行以下命令:

vncserver

输出

$ vncserver :1New 'xxx:1 (ute)' desktop is xxx:1Starting applications specified in /home/xxx/.vnc/xstartupLog file is /home/xxx/.vnc/xxx:1.log
  • 配置防火墙以允许 VNC 连接

运行以下命令:

sudo firewall-cmd --permanent --add-service=vnc-serversudo firewall-cmd --reload

   这将打开 VNC 端口(默认为 5901)并允许远程连接。

现在,你已经在 CentOS 上安装并开启了 VNC 服务。你可以使用任何 VNC 客户端连接到你的服务器并登录到你的 VNC 用户账户。

Win10 +VM17装 centos9

VMware17.0安装教程【附安装包】

计算机工具教学 2023-10-08 08:00 发表于湖南

软件下载

软件:VMware版本:17.0
语言:简体中文大小:554.98M
安装环境:Win11/Win10/Win8/Win7
硬件要求:CPU@2.6GHz 内存@4G(或更高)
下载通道①百度网盘丨下载链接:
https://pan.baidu.com/s/1PMCdcgQ3iVReVLJxrG6fEw?pwd=7777提取码:7777

软件介绍

VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通过它可在一台电脑上同时运行更多的Microsoft Windows、Linux、Mac OS X、DOS系统。

安装步骤

1.鼠标右击【VMware17.0】压缩包选择(win11系统需先点击“显示更多选项”)【解压到 VMware17.0】。

图片

2.打开解压后的文件夹,鼠标右击【VMware17.0】选择【以管理员身份运行】。

图片

3.点击【下一步】。

图片

4.勾选【我接受许可协议……】,点击【下一步】。

图片

5.点击【更改】。

图片

6.修改路径地址中的首字符C可更改安装位置(如:将C改为E表示安装到E盘),点击【确定】。

7.点击【下一步】。

8.取消勾选【启动时……】和【加入Vmware……】,点击【下一步】。

图片

9.点击【下一步】。

10.点击【安装】。

11.安装中……

12.点击【许可证】。

图片

13.序列号(使用需要下载上面安装包,随便哪个都行):

4A4RR-813DK-M81A9-4U35H-06KNDNZ4RR-FTK5H-H81C1-Q30QH-1V2LAJU090-6039P-08409-8J0QH-2YR7FZA5RU-6FYD5-48EPY-3XXEE-PAUGD4Y09U-AJK97-089Z0-A3054-83KLA,点击【输入】。

图片

14.点击【完成】。

15.双击桌面【VMware……】图标启动软件

16. 新建vm,选linux red hat enterprise linux9 x64

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

aws centos stream9 整合原本两台centos7

1.创建实例

2.进行命令行

3.更新

sudo su
yum update -y
yum upgrade -y

4.从旧服务器下载旧版本minisite.hk

mkdir -p /var/www/html/backup
mkdir -p /var/www/html/dbbackup
mkdir -p /var/www/html/minisite.hk
yum install httpd -y
yum install httpd-tools -y
yum install -y mysql mysql-server -y
yum install -y php
yum install -y wget
yum install -y unzip
#修改MYSQL PASSWORD
use mysql;
alter user 'root'@'localhost' identified by '123456';
set password for root@localhost ='123456';
FLUSH PRIVILEGES;

安装composer


curl -sS | sudo php -- --install-dir=/usr/local/bin --filename=composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
/usr/local/bin/composer -V

修改环境变量PATH

vi /etc/environment
PAHT=”/usr/local/bin”

composer -V

AWS 安装centos 过程

2023-10-27

选服务器

2.更新密码

4.添加FTP 等端口

5. 更新

yum update -y
yum upgrade -y

6.安装常用软件

yum install zip unzip

7.安装httpd

yum install httpd httpd-tools

8.安装mysqld

yum install mysql mysql-server

9.修改mysql root密码8.0 以上的版本,有以下两个命令可用(MySQL的安装与配置——详细教程(转载)里面修改密码用的就是这个最新的命令):

#空密码登陆
use mysql;
alter user 'root'@'localhost' identified by '123456';
set password for root@localhost ='123456';
FLUSH PRIVILEGES;


10.建一个其它用户

CREATE USER 'im'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'MiS'@'localhost' IDENTIFIED BY '123456';



GRANT ALL ON *.* TO 'im'@'localhost';
GRANT ALL ON *.* TO 'MiS'@'localhost';
FLUSH PRIVILEGES;

11.安装php zip支持

#更新
yum install -y php-devel gcc zlib-devel php-zip php-gd php-mysqli

12.

# 重新编译zip扩展
wget http://pecl.php.net/get/zip-1.16.0.tgz
tar zxvf zip-1.16.0.tgz && cd zip-1.16.0/
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install

Linux中JSON安装及使用

Linux中JSON安装及使用

1.官网下载json-cpp,可以去sourceforge或github

https://sourceforge.net/projects/jsoncpp/files/

这里下载的是jsoncpp-src-0.5.0.tar.gz

2.下载scons

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

这里下载的是scons-2.1.0.tar.gz

3.解压刚刚下载的scons-2.1.0.tar.gz

终端输入命令:tar -zvxf scons-2.1.0.tar.gz

可以根据自己的需要选择解压地址

4.进入刚刚解压的scons-2.1.0文件夹中

终端输入命令:sudo python setup.py install

5.解压下载
https://codeload.github.com/open-source-parsers/jsoncpp/tar.gz/refs/tags/1.9.5
好的jsoncpp-src-1.9.5.tar.gz

tar -zvxf jsoncpp-src-1.9.5.tar.gz

同样的,可以根据自己的需要选择解压地址

6.进入刚刚解压的jsoncpp-src-1.9.5文件夹中

cd jsoncpp-1.9.5 mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_STATIC=ON make sudo make install

7.将 /jsoncpp-src-0.5.0/include 目录下的json文件夹拷贝到/usr/include

这里我的电脑不能直接复制粘贴文件夹,因此使用cp –r命令

终端输入如下:cp –r /mnt/share/jsoncpp-src-0.5.0/include/json /usr/include

8.将 /jsoncpp-src-0.5.0/libs/linux-gcc-5.3.1 目录下的libjson_linux-gcc-5.3.1_libmt.a 拷贝到 /usr/local/lib 下 (为便于使用,可将其libjson_linux-gcc-5.3.1_libmt.a重命名为简短一点的libjson.a)

同样,使用cp –r命令复制文件

终端输入如下:cp –r /mnt/share/jsoncpp-src-0.5.0/libs/linux-gcc-5.3.1/libjson_linux-gcc-5.3.1_libmt.a /usr/local/lib

重命名可以使用mv命令或rename命令

9.简单写一个测试代码 testjson.cpp

#include<iostream>

#include<json/json.h>

using namespace std;

int main()

{

string test=”{\”id\”:2021,\”name\”:\”Happy New Year\”}”;

Json::Reader reader;

Json::Value value;

if(reader.parse(test,value)){

if(!value[“id”].isNull()){

cout<<value[“id”].asInt()<<endl;

cout<<value[“name”].asString()<<endl;

}

}

return 0;

}

10.编译刚刚写的testjson.cpp

终端输入命令: g++ testjson.cpp –o testjson /usr/local/lib/libjson_linux-gcc-5.3.1_libmt.a

(我使用绝对路径是保险)

然后输入命令运行: ./testjson

11.输出结果如下

2021

Happy New Year

12. 一些关于json使用小结

我个人认为json文件是存储数据的一种格式文件,而我们可以通过“字符串”对其中提取所需信息。

主要为读取json文件,写入json文件

注意对于二维三维多维的json数据,用多重Json::Value读取即可
====================================================================================无法运行,结合另一篇

要安装jsoncpp,首先要下载好scons,再去安装jsoncpp

scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz

Jsoncpp 下载地址 http://sourceforge.net/projects/jsoncpp/files/latest/download?_test=goal 

安装步骤如下:#tar -zxvf scons-2.1.0.tar.gz #cd scons-2.1.0

                   #python setup.py install

                   #tar -zxvf jsoncpp-src-0.5.0.tar.gz

                   #cd jsoncpp-src-0.5.0

                   #scons platform=linux-gcc

                   #mv libs/linux-gcc-4.4.7/libjson_linux-gcc-4.4.7_libmt.so /lib

                   #ln /lib/libjson_linux-gcc-4.4.7_libmt.so /lib/libjson.so

                   #mv include/json/ /usr/include/

                   #ldconfig

                   #./bin/linux-gcc-4.4.7/test_lib_json

                  【注意这里的版本号可能不同】先通过cd libs进入libs目录,再用“ls”命令查看自己的版本号,然后在上述步骤中修改成自己的版本号即可

           ======================================================第三篇https://www.csdn.net/tags/NtDaEgzsMzc2NjctYmxvZwO0O0OO0O0O.html

1. C++ json读写

1.1. rapidjson

git clone https://github.com/Tencent/rapidjson.git

待续

1.2. JsonCpp

1.2.1. 安装和编译

  1. 下载

http://sourceforge.net/projects/jsoncpp/files/

  1. 下载scons

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

  1. 解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz

我的解压到了/opt/JSON/scons-2.1.0目录下了

  1. 进入到解压目录scons-2.1.0下面,执行命令:
sudo python setup.py install
  1. 解压jsconcpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz

我的解压到了/opt/JSON/jsoncpp-src-0.5.0下

  1. 进入到jsoncpp解压目录下,执行命令:
sudo scons platform=linux-gcc
  1. 拷贝动态库
    将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a
  2. 实例
#include<iostream>
#include<json/json.h>

using namespace std;

int main()
{
    string test="{\"id\":1,\"name\":\"kurama\"}";
    Json::Reader  reader;
    Json::Value   value;
    
    if(reader.parse(test,value))
    {
        if(!value["id"].isNull())
        {
            cout<<value["id"].asInt()<<endl;
            cout<<value["name"].asString()<<endl;
        }
    }
    return 0;
}

g++ test.cpp -I include -L libs/linux-gcc-9 -l json_linux-gcc-9_libmt