DEV C ++不兼容的类型将`const char [10]'赋值给`char [21]'

时间:2015-12-16 14:33:48

标签: c++

#include<iostream>
#include<conio.h>
using namespace std;
struct Infor{
       char name[21];

       }infot[4];
int main()
{
    infot[0].name="PROGRAM 1";
    cout<<infot[0].name;
    getch();
    return 0;
}

该代码用于将字符串初始化为包含char变量的结构。

1 个答案:

答案 0 :(得分:3)

您应该使用strcpy()复制c风格的字符串。

#include<iostream>
#include<cstring>
using namespace std;
struct Infor{
       char name[21];
       int acn;
       int pin;
       int balance;
       }infot[4];
int main()
{
    strcpy(infot[0].name, "PROGRAM 1");
    cout<<infot[0].name;
    return 0;
}

或者,std::string可能有用。

#include<iostream>
#include<string>
using namespace std;
struct Infor{
       string name;
       int acn;
       int pin;
       int balance;
       }infot[4];
int main()
{
    infot[0].name = "PROGRAM 1";
    cout<<infot[0].name;
    return 0;
}