仅显示数组文本文件中的第一个字母

Only first letter in array text file displays

本文关键字:第一个 文件 显示 数组 文本      更新时间:2023-10-16

正在为我的C++课程开发程序。我不确定我哪里出错了,或者我错过了什么。我在文本文件(座位.txt)中有一个数组,显示飞机的座位计划。我需要能够显示座位,但似乎只能显示文件的第一个字符。例如:

第 1 行

* * X * X X

并且只显示"R"。如何显示整行?提前谢谢你。

#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <ostream>
#include <fstream>
using namespace std;
int main()
{
char tclass, seat;
int row;
int choice;
int i;
string seating[13];
string line;

ifstream seatingPlan("seating.txt");
getline(seatingPlan, line);
i = 0;
while (getline(seatingPlan, line))
{
    seating[i] = line[0];
    i++;
}
for (int i = 0; i < 13; i++)
{
    cout << seating[i] << "n";
}
system("pause");
return 0;
}

使用 line[0] 您只能访问字符串中的第一个字符。 line是一个字符串,而不是一个字符串数组。请改用seating[i] = line;

你从行中取第一个符号:

seating[i] = line[0];

你应该采取整行:

seating[i] = line;