string 字符问题
#include<iostream>using namespace std;
#include<string>
#include<ctime>
struct Student
{
string name;
int score;
};
struct Teacher
{
string tName;
Student sArray;
};
void allocateSpace(Teacher tArray[], int len)
{
string nameSeed = "ABCDE";
for (int i=0;i<len;i++)
{
tArray.tName = "Teacher_";
tArray.tName += nameSeed;
for (int j = 0; i < 5; j++)
{
tArray.sArray.name = "Student_";
tArray.sArray.name += nameSeed;
int random = rand()%61 + 40;
tArray.sArray.score = random;
}
}
}
void printInfo(Teacher tArray[], int len)
{
for (int i = 0; i < len; i++)
{
cout << "老师姓名:" << tArray.tName << endl;
for (int j = 0; j < 5; j++)
{
cout << "\t学生姓名:" << tArray.sArray.name
<< "考试分数" << tArray.sArray.score << endl;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
struct Teacher tArray;
int len = sizeof(tArray) / sizeof(tArray);
allocateSpace(tArray, len);
printInfo(tArray, len);
return 0;
}
直接显示
0x00007FFFBC811400 (vcruntime140d.dll)处(位于 Project1.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
for (int j = 0; j< 5; j++)//j<5
{
tArray.sArray.name = "Student_";
tArray.sArray.name += nameSeed;
int random = rand()%61 + 40;
tArray.sArray.score = random;
}
页:
[1]