【发布时间】:2014-05-09 09:48:06
【问题描述】:
#include <iostream>
#include <string>
using namespace std;
int main()
{
char addi[5];
string name;
string a="ADD:";
fgets(addi,5, stdin);
cin>>name;
addi[5]='\0';
cout<<"addi"<<addi<<endl;
我有一个 addi char 数组,我想在其中存储“ADD:”和名称字符串,我想在其中存储要添加的字符串。输入格式为 ADD:wolf。为什么addi 不接受“ADD:”字符串吗?或者,由于我需要在进一步的步骤中将 ADD: 与一些字符串进行比较,所以我该怎么做。
【问题讨论】:
-
addi[5]='\0';是非法的,它超出了该数组的末尾。 -
当前输出是多少?
-
不清楚你想做什么。你的输入是什么?实际输出是多少?你期望什么输出?
-
ADD:marsz ADD:marsz DEL:Dabrowski DEL:z ......输入是这样的,我需要将前4个字符分开决定是否添加或删除后面的字符串。所以我制作了一个大小为 5 的 char 数组,并在其中输入“ADD:”以及 name 中的另一个字符串。
-
你为什么要使用 C 数组和混合输入法?对两个输入都使用
std::string和std::cin。