c++ - 在 C++ 中使用 strncpy() 需要帮助
问题描述
我在任务期间被困了好几个小时。具体来说,在这部分:
构造函数应采用 const 限定的 C 样式字符串作为其参数。使用库中的
strncpy()
函数<cstring>
将其复制到底层存储中。请务必在复制后手动对属性进行空终止,以确保它是有效的 C 字符串(以防参数包含更大的字符串)。
我在哪里犯了错误,我应该如何更改我的代码?
#ifndef STRINGWRAPPER_H
#define STRINGWRAPPER_H
class StringWrapper{
public:
StringWrapper (const char myString);
const static int max_capacity = 262144;
private:
int size = 1;
char myString [40];
};
#endif
#include "StringWrapper.h"
#include <cstring>
StringWrapper::StringWrapper (const char myString){
strncpy(StringWrapper::myString, myString, sizeof(myString));
}
#include <iostream>
#include "ThinArrayWrapper.h"
#include "ArrayWrapper.h"
#include "StringWrapper.h"
#include <stdexcept>
int main(){
char myString[]{ "string" };
StringWrapper StringWrapper('h');
return 0;
}
解决方案
推荐阅读
- tensorflow - 剥离 tower 命名空间以在多 GPU 训练的模型 (tensorflow) 上进行推理
- html - 如何在下拉菜单旁边的 HTML 选择性下拉菜单中显示选项的值?
- javascript - CKEditor 无法清理 Word 中复制的粘贴文本?
- angular - Angular 7 子路由延迟加载模块不起作用
- mysql - 需要帮助识别第 20 行的语法错误
- android - 在作为 JSON 响应从服务器接收的字符串上的 TextView 中添加换行符
- openshift-origin - 如何在容器的 yaml 模板文件上设置 OpenShift QoS 设置?
- python - 为什么我的 DataFrame 会作为 DataFrame 传入和传出函数,然后以某种方式在下一行代码中变成一个元组?
- r - 带有 UTF-8 编码文件的 R read.table 将无穷大符号读取为 8 (int)
- druid - 为什么 Apache Druid 被认为是实时数据库?