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
@ToolBox
command
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用
字符串
吗?你想做什么你想做什么?我想你想要命令[0]=newchar;如果command=
abc
和newchar=
d
,那么结果应该是
abcd
。不是。我想将
newchar
附加到
command
@ToolBox
command
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用
字符串
吗?你想做什么你想做什么?我想你想要命令[0]=newchar;如果command=
abc
和newchar=
d
,那么结果应该是
abcd
。不是。我想将
newchar
附加到
command
@ToolBox
command
是一个固定大小的数组,您不能向它附加任何内容。那么……我能做什么?我应该改为使用
字符串
吗?你想做什么你想做什么?我想你想要command[0]=newchar;如果command=
abc
和newchar=
d
,那么结果应该是
abcd
。不,不是。我想将
newchar
附加到
command
@ToolBox
command
是一个固定大小的数组,你不能附加任何内容