【c++编程问题】 指针指向字符串,使用cin>>怎么不对呢?

2024年11月28日 16:49
有4个网友回答
网友(1):

结构体中用string类型接char型字符?你输入的是char型的字符,没有转换的话,不能直接为string类型的变量赋值吧。
改用 char name[10]; 可避免错误。
typedef struct PCBNode
{
char name[10]; //进程名
//string name;
PCBNode *next; //指针
int time; //要求运行时间
int priority; //优先数
char state; //状态
}PCB;

网友(2):

不知道具体问题,不过我觉得如果你输入的进程名含有空格应该就会有错,因为cin以空白符结束输入,即空白后的字符可能会传入priority中。

网友(3):

你这是C++程序啊,用new来申请内存吧。
PCB *p;
if(p= new(PCB))

string类的输入可用getline(cin,p->name);
char [10]的话可以直接cin>>

网友(4):

p= (PCB *)malloc(sizeof(PCB))
你开辟空间后最后没有释放 调试当然不通过