C++ C++;将字符添加到字符[1024] #包括 #包括 使用名称空间std; int main(){ char命令[1024]; char-newchar; cout
您应该使用C++ C++;将字符添加到字符[1024] #包括 #包括 使用名称空间std; int main(){ char命令[1024]; char-newchar; cout,c++,char,C++,Char,您应该使用std::string和append字符。 或者使用C++11,您可以将+=运算符与std::string一起使用 (您必须#包括字符串标题)您应该使用std::string和append字符。 或者使用C++11,您可以将+=运算符与std::string一起使用 (您必须#包括字符串标题)您应该使用std::string和append字符。 或者使用C++11,您可以将+=运算符与std::string一起使用 (您必须#包括字符串标题)您应该使用std::string和ap
std::string
和append
字符。
或者使用C++11,您可以将+=运算符与std::string一起使用
(您必须#包括字符串标题)您应该使用
std::string
和append
字符。
或者使用C++11,您可以将+=运算符与std::string一起使用
(您必须#包括字符串标题)您应该使用
std::string
和append
字符。
或者使用C++11,您可以将+=运算符与std::string一起使用
(您必须#包括字符串标题)您应该使用
std::string
和append
字符。
或者使用C++11,您可以将+=运算符与std::string一起使用
(您必须#包括字符串头)在
命令+newchar
中,命令变成(const)指针,而newchar是一个整数值,因此您要将指针指向一个“更大”的地址,但将结果分配给命令时,您试图更改(const)指向数组的指针,这是不允许的
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char command[1024];
char newchar;
cout << "Command Line Interface Test with Intellisense" << endl;
cout << endl;
newchar = _getch();
command = command + newchar;
}
这本可以工作,但没有达到预期效果。正如其他人已经回答的那样:使用std::string。在命令+newchar
中,命令变成(const)指针,而newchar是一个整数值,因此您正在创建指向“更大”地址的指针,但将结果分配给命令时,您正在尝试更改(const)指向数组的指针,这是不允许的
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char command[1024];
char newchar;
cout << "Command Line Interface Test with Intellisense" << endl;
cout << endl;
newchar = _getch();
command = command + newchar;
}
这本可以工作,但没有达到预期效果。正如其他人已经回答的那样:使用std::string。在命令+newchar
中,命令变成(const)指针,而newchar是一个整数值,因此您正在创建指向“更大”地址的指针,但将结果分配给命令时,您正在尝试更改(const)指向数组的指针,这是不允许的
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char command[1024];
char newchar;
cout << "Command Line Interface Test with Intellisense" << endl;
cout << endl;
newchar = _getch();
command = command + newchar;
}
这本可以工作,但没有达到预期效果。正如其他人已经回答的那样:使用std::string。在命令+newchar
中,命令变成(const)指针,而newchar是一个整数值,因此您正在创建指向“更大”地址的指针,但将结果分配给命令时,您正在尝试更改(const)指向数组的指针,这是不允许的
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char command[1024];
char newchar;
cout << "Command Line Interface Test with Intellisense" << endl;
cout << endl;
newchar = _getch();
command = command + newchar;
}
这将是可行的,但没有像预期的那样做。正如其他人已经回答的那样:使用STD::String。< /P> < P>它不起作用,因为C++是静态类型的。一个<代码> char(1024)< /C>对象将在其整个生命周期中保持相同的类型,并且它不能更改为<代码> char(1025)。
。这同样适用于std::string
,但字符串的大小不是其类型的一部分,因此可以更改:
char* pNew = command + newchar;
< > >因为C++是静态类型的,所以它不起作用。一个<代码> char(1024)< /C>对象将在其整个生命周期中保持相同的类型,它不能改变为<代码> char(1025)< /代码>。同样适用于<代码> STD::String < /C> >,但是字符串的大小不是它的类型的一部分,因此可以改变:
char* pNew = command + newchar;
< > >因为C++是静态类型的,所以它不起作用。一个<代码> char(1024)< /C>对象将在其整个生命周期中保持相同的类型,它不能改变为<代码> char(1025)< /代码>。同样适用于<代码> STD::String < /C> >,但是字符串的大小不是它的类型的一部分,因此可以改变:
char* pNew = command + newchar;
< > >因为C++是静态类型的,所以它不起作用。一个<代码> char(1024)< /C>对象将在其整个生命周期中保持相同的类型,它不能改变为<代码> char(1025)< /代码>。同样适用于<代码> STD::String < /C> >,但是字符串的大小不是它的类型的一部分,因此可以改变:
char* pNew = command + newchar;
你想做这样的事吗
std::string command = "abc";
comamnd += "d";
#包括
#包括
使用名称空间std;
#定义缓冲区大小1024
int main(){
char命令[缓冲区大小];
难道你想做这样的事吗
std::string command = "abc";
comamnd += "d";
#包括
#包括
使用名称空间std;
#定义缓冲区大小1024
int main(){
char命令[缓冲区大小];
难道你想做这样的事吗
std::string command = "abc";
comamnd += "d";
#包括
#包括
使用名称空间std;
#定义缓冲区大小1024
int main(){
char命令[缓冲区大小];
难道你想做这样的事吗
std::string command = "abc";
comamnd += "d";
#包括
#包括
使用名称空间std;
#定义缓冲区大小1024
int main(){
char命令[缓冲区大小];
你想做什么?我想你想要命令[0]=newchar;如果command=abc
和newchar=d
,那么结果应该是abcd
。不是。我想将newchar
附加到command
@ToolBoxcommand
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用字符串
吗?你想做什么你想做什么?我想你想要命令[0]=newchar;如果command=abc
和newchar=d
,那么结果应该是abcd
。不是。我想将newchar
附加到command
@ToolBoxcommand
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用字符串
吗?你想做什么你想做什么?我想你想要命令[0]=newchar;如果command=abc
和newchar=d
,那么结果应该是abcd
。不是。我想将newchar
附加到command
@ToolBoxcommand
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用字符串
吗?你想做什么你想做什么?我想你想要command[0]=newchar;如果command=abc
和newchar=d
,那么结果应该是abcd
。不,不是。我想将newchar
附加到command
@ToolBoxcommand
是一个固定大小的数组,你不能附加任何内容