C++将字符串复制到字符字符串数组中
C++ Copy String into Char String Array
下面是我的代码
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
std::string data;
data = "hello world";
char string[] = new char [data.length()+1];;
strcpy(string, data.c_str());
}
我弄错了。。
file.cpp: In function ‘int main()’:
file.cpp:14:46: error: initializer fails to determine size of ‘string’
我应该怎么做,因为我想把字符串数据的内容复制到char string〔〕
谢谢你的帮助。
更改为以下内容:
char* string = new char[data.size()+1];
使用char *string
,而不是char string[]
。
char string[]
意味着您定义了一个数组,并且应该在编译时从初始值设定项计算数组的大小。
为了编译它,您必须使用char*
而不是char[]
。在这种情况下,char[]
需要一个常量大小,并且由于data
不是编译时常量,因此无法确定大小。
试试这样的东西:
string Name="Hello FILE!"
int TempNumOne=Name.size();
char Filename[100];
for (int a=0;a<=TempNumOne;a++)
{
Filename[a]=Name[a];
}
您应该做:
char* string = new char[data.length()+1];
// ^
strcpy
采用两个指针作为参数char string[]
表示您正在声明一个数组。
这是功能的原型:
char*strcpy(char*dest,const char*src);
相关文章:
- 将C#字符串数组传递给C++
- 如何为 C 型字符串数组编写 getter 和 setter?
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 尝试将 c 字符串数组与分隔符连接起来
- 将字符串数组传递给接受常量字符**的函数
- 返回 C++ 中的字符串数组
- 如何从COM模块中的函数返回字符串数组?
- 无法将字符串数组声明为类成员而不是字符 (C++)
- 删除字符串数组
- 如何将字符串数组返回到 java JNI
- 将字符串数组作为函数参数传递
- C++将字符串数组的元素存储到变量中
- 循环访问还包含未使用元素的字符串数组
- 字符串数组上的 sizeof 运算符以 C++ 为单位给出不同的输出
- 乘以字符串/数组和全局数组
- 递归二进制搜索与字符串数组
- 如何初始化一个标准::字符串数组?
- 无法在声明时使用初始值设定项列表初始化常量字符*/字符串数组的向量
- C++字符串数组的动态向量
- 给定一个等长字符串数组