根据文件存入数组数据,但并不是数组所有元素都存入了数据,但想要输出时只需要输出有数据的数组元素应该如何输出
int arrary[100000];
这是我存入数据的代码
void read_file(string fileName, City *array[], int l)
{
string firstline;
string str;
string city_name;
string addition;
string PLZ;
l = 100000;
ifstream inFile;
inFile.open(fileName);
if (!inFile.is_open())
{
cerr << "error opening file " << fileName << endl;
}
else
{
cout << "read file \"" << fileName << "\" ... done" << endl;
getline(inFile, firstline, '\n');
while (inFile.good())
{
getline(inFile, city_name, ';');
getline(inFile, addition, ';');
getline(inFile, PLZ, ';');
getline(inFile, str, '\n');
// cout << city_name << " " << addition << " "<< PLZ <<endl;
insertCity(city_name, addition);
array[stoi(PLZ)] = head;
}
inFile.close();
}
}
尝试输出的代码
cin >> n;
t = n;
while (t)
{
k++;
t /= 10;
}
if (k >= 5)
cout << n << " " << array[n] << endl;
else
{
t = 1;
for (int i = k; i < 5; i++)
t *= 10;
n *= t;
for (int i = n; i - n < t; i++)
cout << i << " " << array[i] << endl;
这样写vscode表示没什么问题,但运行时会出bug且只能输去完整的5位数