"DB301.DBW40" "DB301.DBW4" 如何使用stoi,substr获取DBW后的数字
时间: 2023-07-06 16:36:31 浏览: 109
要使用 `stoi` 和 `substr` 函数从字符串 "DB301.DBW40" 和 "DB301.DBW4" 中获取 DBW 后面的数字,可以按照下面的代码示例进行操作:
```cpp
#include <iostream>
#include <string>
int main()
{
// 输入字符串
std::string str1 = "DB301.DBW40";
std::string str2 = "DB301.DBW4";
// 获取 DBW 后的数字
int dbwNum1 = std::stoi(str1.substr(7));
int dbwNum2 = std::stoi(str2.substr(7));
// 输出结果
std::cout << "DBW number in str1: " << dbwNum1 << std::endl;
std::cout << "DBW number in str2: " << dbwNum2 << std::endl;
return 0;
}
```
在上面的代码中,`substr(7)` 表示从字符串的第 8 个字符开始截取到末尾,即获取 DBW 后面的数字。然后使用 `stoi` 函数将截取到的数字转换为整数类型。最终输出结果为:
```
DBW number in str1: 40
DBW number in str2: 4
```
可以看到,成功获取了字符串中 DBW 后面的数字。
相关问题
stoi(("DB301.DBW40").substr(2)) 结果是什么
("DB301.DBW40").substr(2) 返回的是字符串 "301.DBW40",然后将这个字符串传递给 std::stoi 函数进行转换,由于默认是十进制,且字符串以数字开头,因此会成功将其转换为整数 301。
所以,执行 stoi(("DB301.DBW40").substr(2)) 的结果是整数 301。
c++使用snap7,往DB301.DBW2写入一个int类型得数据2,DB301.DBW4写入一个int类型得数据5
使用 Snap7 C++ 库来往 S7-1200 PLC 的 DB301 中的 DBW2 和 DBW4 写入整数数据 2 和 5 的代码示例如下:
```cpp
#include <iostream>
#include "snap7/snap7.h"
int main()
{
// 创建一个 S7Client 对象
S7Client *client = new S7Client();
// 连接到 PLC
int result = client->ConnectTo("192.168.0.1", 0, 1);
if (result != 0) {
std::cout << "连接失败:" << client->ErrorText(result) << std::endl;
return -1;
}
std::cout << "连接成功" << std::endl;
// 写入数据
int dbNumber = 301;
int dbwNumber1 = 2;
int dbwNumber2 = 4;
int data1 = 2;
int data2 = 5;
result = client->WriteArea(S7AreaDB, dbNumber, dbwNumber1, 2, S7WLWord, &data1);
if (result != 0) {
std::cout << "写入失败:" << client->ErrorText(result) << std::endl;
return -1;
}
result = client->WriteArea(S7AreaDB, dbNumber, dbwNumber2, 2, S7WLWord, &data2);
if (result != 0) {
std::cout << "写入失败:" << client->ErrorText(result) << std::endl;
return -1;
}
std::cout << "写入成功" << std::endl;
// 断开连接
client->Disconnect();
std::cout << "断开连接" << std::endl;
// 释放 S7Client 对象
delete client;
return 0;
}
```
需要注意的是,要使用 Snap7 库,需要先下载对应平台的库,并将头文件和库文件引入到项目中。同时,需要在连接前确保 PLC 的网络连接正常,且程序中的 IP 地址和其他参数正确无误。
阅读全文