我必须生成字符串命令来使用微控制器配置设备,因此需要C风格的字符串而不是常规的std::string
。
每一步都需要按enter键或是/否enter键,我需要为每一步输入一行代码。代码示例:
#define YES "Y\n"
#define NO "N\n"
#define ENTER "\n"
#define DEFAULT_COMMAND_SIZE 30
static char command[DEFAULT_COMMAND_SIZE];
if (getChangePassword()) { // just a function that returns true if password has to be changed
if (getTelnetPassword() != nullptr) {
std::strcat(command, YES);
std::strcat(command, getTelnetPassword()); // password is a char*, same as command
std::strcat(command, ENTER);
}
} else {
std::strcat(command, NO);
}
我可以设法减少重复LOC的数量吗?
使用std::字符串
,完成后将其复制到命令
中:
演示:
#include <iostream>
#include <string>
#include <string.h>
#define YES "Y\n"
#define NO "N\n"
#define ENTER "\n"
#define DEFAULT_COMMAND_SIZE 30
static char command[DEFAULT_COMMAND_SIZE];
bool getChangePassword()
{
return true;
}
char *getTelnetPassword()
{
return (char*)"testpassword";
}
int main()
{
std::string scommand;
if (getChangePassword()) { // just a function that returns true if password has to be changed
if (getTelnetPassword() != nullptr) {
scommand += YES;
scommand += getTelnetPassword();
scommand += ENTER;
}
}
else {
scommand = NO;
}
std::strcpy(command, scommand.c_str());
std::cout << command;
}
问题内容: 我正在编写一个简单的程序,该程序将多个连接连接到不同的服务器以进行状态检查。所有这些连接都是按需构建的;最多可以同时创建10个连接。我不喜欢“每个套接字一个线程”的想法,因此我将所有这些客户端套接字都设置为“非阻塞”,然后将其放入select()池中。 效果很好,直到我的客户抱怨目标服务器停止响应时,等待时间太长才能获得错误报告。 我已经在论坛中检查了几个主题。有人建议可以使用alar
问题内容: 我喜欢在python中如何执行以下操作: 基本上,它读取的是一行列表,其中每一个代表3D空间中的一个点,该点表示为三个数字,以逗号分隔 如何用C ++做到这一点而又不会太麻烦呢? 性能不是很重要,此解析仅发生一次,因此简单性更为重要。 PS我知道这听起来像是一个新手问题,但是相信我我已经用D语言编写了一个词法分析器(非常类似于C ),其中涉及逐个字符读取一些文本char并识别标记, 就
问题内容: 我正在尝试快速连接多个字符串3: 编译时出现以下错误: 以前它可以迅速运行2。我不确定为什么它不再起作用了。 问题答案: OP提交的错误报告: SR-1122:无法对强制展开的值进行二进制运算符链的类型检查 该问题已解决(修复将于2017年1月3日提交给母版),因此在即将到来的Swift 3.1中不再是问题。 这似乎是与以下情况相关的错误(在Swift 2.2中仅存在于3.0中): 在
问题内容: 我正在尝试连接Java中的字符串。为什么这不起作用? 问题答案: 你可以使用运算符来连接字符串: 被隐式转换为。
实现 (Implementation) 现在,我们将看到该计划的实际执行情况 - #include <stdio.h> #include <string.h> int main() { char s1[10] = "Taj"; char s2[] = "Mahal"; int i, j, n1, n2; n1 = strlen(s1); n2 = strlen(s2)
我正在为即将到来的考试做练习题,但似乎无法找出一个问题,目标是: 编写一个C程序来读取两个字符串和。每个字符串的最大大小为25。形成两个名为和的新字符串。Lower由连接的和的小写字母组成,而包含两个字符串的大写字母的连接。 例如:输入: s1:绿蓝色 s2:客车 输出: 上:绿卡 下:蓝巴 我已经尝试了几天,但还没能完全弄清楚。 到目前为止,我有以下信息: