循环的文件处理
file handling for loop
我正在制作一个简单的程序来找出不使用文件处理开始的行数。我无法理解为什么我的循环只运行 4 次,而它应该明显比行值少 0 到 1。这里有什么问题?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int s = 80;
char str[s];
int lines = 0, a = 0, alines = 0;
ofstream fout("file6.txt", ios::out);
cout<<"Enter the number of lines you want to enter: ";
cin>>lines;
for(int i = 0; i < lines; i++)
{
cin.getline(str, 80);
fout<<str<<endl;
}
return 0;
}
我认为您应该使用 ifstream 来读取文件,并使用标准 getline 从文件中读取行,如下所示:
#include <iostream>
#include <vector>
#include <queue>
#include <string>
#include <cmath>
#include <sstream>
#include <fstream>
int main()
{
std::ifstream is("file6.txt");
std::string line;
int linesToRead = 0;
std::cin>>linesToRead;
while(std::getline(is, line))
{
if(linesToRead <= 0)
break;
std::cout<<line<<std::endl;
--linesToRead;
}
return 0;
}
相关文章:
- 如何在 c++ 窗口中将参数和返回的退出值传递到批处理文件/从批处理文件获取返回的退出值
- 从之前添加的批处理文件中删除单词
- 无法从C++ Windows 服务执行批处理文件
- 处理文件期间输出失真.wav
- TOCTTOU - 在处理文件之前使用访问权限
- 如何将批处理文件的输出读取到C 中的字符串中
- cmake:生成批处理文件调用cl.exe
- 处理文件行流迭代器
- 如何运行批处理文件和读取输出
- 用文本处理文件
- GetCommandLine():无法从批处理文件(GCC-Compiler)传递多行参数
- exe文件不被识别为内部或外部命令,可操作的程序或批处理文件在C++
- 您如何使用System()调用带有引号的参数的批处理文件
- Visual Studio C - 无法输出预处理文件
- 重命名批处理文件(删除名称中的一些符号)(python/matlab/shell)
- Dokan:我应该自己处理文件共享和访问权限吗?
- C++处理文件,在制作程序时遇到麻烦
- 对桌面进行了更改.ini使用批处理文件,但文件夹图标不会更改
- 如何将字符串转换为批处理文件中的整数
- 为什么我不能在Windows Server 2008中使用System()从服务启动批处理文件