c++ - C++ 字符错误
问题描述
因此,我试图从Expresie
char 数组中取出第二个到第一个字符并将其复制到 char 变量中,然后使用该strcat
函数将该变量放在另一个 char 数组的末尾Stiva
。这是代码:
int SHIFT(char Expresie[], char Stiva[], int x)
{
char a=Expresie[0];
strcat(Stiva,a);
这就是它们在 main 中的定义方式:
int main()
{
char Expresie[100];
char Stiva[100];
问题是当我运行它时它说:从'char'到'const char*'的无效转换
解决方案
strcat
附加字符串,而不是字符 - 它需要一个指向“C 字符串”的第一个字符的指针,而不是单个char
.
最简单的方法是自己直接在末尾添加字符(当然,假设有空间):
int SHIFT(char Expresie[], char Stiva[], int x)
{
char a=Expresie[0];
size_t length = strlen(Stiva);
Stiva[length] = a;
Stiva[length+1] = 0;
// ...
推荐阅读
- r - R中的rbind - 匹配列名
- flutter - 任务 app:mergeDebugNativeLibs 和 app:mergeDebugJavaResource 的 Flutter 失败
- shell - 如何防止 escapeshellarg 函数转义重音字符?
- google-analytics - 使用 Google 跟踪代码管理器时将重复的 URL 分析与规范 URL 合并
- angular - 如何过滤带有嵌套对象的 PrimeNG 表?
- javascript - React Router 受保护的路由
- python - VSCode python 在适用于 Linux 的 Windows 子系统中找不到相关文件
- python - 通过dockerfile安装python包 - 依赖错误
- corda - 我的@InitiatingFlow 可以是通用类吗?
- excel - 根据另一个单元格的值更新单元格保护