【发布时间】:2015-06-02 20:16:28
【问题描述】:
C 新手,仍然掌握指针。我正在尝试将 c 字符串的副本添加到 char 数组中,这样
char temp[40];
temp[0] = 'a';
temp[1] = 'b';
temp[2] = 'c';
temp[3] = NULL;
char *container[40] = {0};
strcpy(container[0], temp);
cout << container[0] << endl;
打印“abc”。尝试制作副本,因为 temp 不断被新字符替换,并且指向 temp 的指针显然不够,因为我想在打印 abc 后这样做。
char temp[40];
temp[0] = 'd';
temp[1] = 'e';
temp[2] = 'f';
temp[3] = NULL;
char *container[40] = {0};
strcpy(container[1], temp);
cout << container[1] << endl;
打印'def'。 PS这是我到目前为止所拥有的,但它不起作用。我不太确定我是否错误地使用了 strcpy,但任何替代方法都会有所帮助。
【问题讨论】:
-
你使用的不是C,而是C++。
-
container[0]只是一个指向char的指针。在调用strcpy之前,您必须将其指向足够的内存。 -
C 还是 C??它是哪一个?这些是 C 技术,而是 C++ 语言。而且您在问题中使用了这两个术语....
-
另外,一个C字符串是一个
char数组....