如何从文本文件中一次读取一个字符
How to read one character at a time from text file
这是我的函数,其中包含以下代码。注意:它已经在主文件中声明并且运行良好。
void displaySeatingChart(char seats[][colvalue], float prices[rowvalue])
{
string filename = "seatingChart.dat";
ifstream inFile(filename);
for (rows = 1; rows <= rowvalue; rows++)
{
string newLine;
cout << "Row #" << rows << "t";
for (cols = 1; cols <= colvalue; cols++)
{
inFile >> newLine;
cout << newLine;
}
cout << endl;
}
}
rows
是15岁,cols
是30岁。我的问题是cout << newline
打印整个文件(基本上都是#(。我怎么能只打印 15 个字符而不像 1500 个字符?
inFile >> newLine;
这将读取所有内容,直到出现空格字符。如果您的文件在一行中包含所有字符并且不包含空格,则上面的行读取整个文件的内容是有意义的。
要一次读取一个字符,请使用
char c = inFile.get();
您的内部循环将是:
for (cols = 1; cols <= colvalue; cols++)
{
char c = inFile.get();
cout << c;
}
有关其他信息,请参阅文档以了解istream::get()
。
相关文章:
- 在一次迭代中从 txt 文件中读取多行
- 如何使用C++一次读取整个二进制文件
- 蓝牙插座只能读取一次,为什么?
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 如何从文本文件中一次读取一个字符
- 尝试一次将单个字符读取到大小不确定的数组中
- 为什么我的 cout 一次执行,尽管 cin 应该在两者之间读取?
- 无法一次从二进制文件中读取一个 int
- 一次读取一个字节的 unicode
- 一次读取一个字符的文件,直到使用 read(2) 和 write(2) 换行符
- 快速简单的方法,以C++为单位一次读取一个字节的 stdin
- 尝试一次读取一个字符的矩阵
- 我如何一次读取和写3位
- 一次从二进制读取 4 个字节(C++)
- 输入迭代器可以重复读取,而输出迭代器只能写入一次
- 如何创建在 c++ 中只读取一次的初始化函数
- 缓冲的 std::ifstream 只能从磁盘读取一次 (C++)
- QTcpSocket每~0.5s才读取一次数据,即使是非常小的数据包,任何方法都可以加快速度
- 我可以(a)不通过输入迭代器写入,或者(b)只通过一个迭代器读取一次吗?
- C++ 从键盘读取一次一个字符,直到用户输入字母("A.."Z"或"a".."z')