C++ 读取最后一个整数文件C++;
我有个问题。如果我不在文件末尾加空格,为什么我的程序不读取最后一个整数?如果我有一个文本文件,只有一个数字,没有结束空间,程序不会读取任何内容 这是我的节目:C++ 读取最后一个整数文件C++;,c++,file,C++,File,我有个问题。如果我不在文件末尾加空格,为什么我的程序不读取最后一个整数?如果我有一个文本文件,只有一个数字,没有结束空间,程序不会读取任何内容 这是我的节目: #include <iostream> #include <fstream> using namespace std; int main(){ fstream f1,f2; int k; int q; cout << "Inserisci numero letter
#include <iostream>
#include <fstream>
using namespace std;
int main(){
fstream f1,f2;
int k;
int q;
cout << "Inserisci numero lettere da leggere : ";
cin >> q;
f1.open("in.txt", ios::in);
f2.open("out.txt", ios::out);
if(f1.fail()){
cout << "Impossibile aprire il file";
exit(1);
}
f1 >> k;
while( !f1.eof() && q > 0){
q--;
cout << k << '\n';
f2 << k;
f1 >> k;
}
f1.close();
f2.close();
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
fsf1,f2;
int k;
int-q;
cout>q;
f1.打开(“in.txt”,ios::in);
f2.打开(“out.txt”,ios::out);
if(f1.fail()){
cout>k;
而(!f1.eof()&&q>0){
q--;
您的程序无法读取所有数字,但在执行读取操作后,您必须执行!f1.eof()
检查。当最后一个数字后面有一个文件结尾时,您永远不会输出它
替换
f1 >> k;
while( !f1.eof() && q > 0){
q--;
cout << k << '\n';
f2 << k;
f1 >> k;
}
f1>>k;
而(!f1.eof()&&q>0){
q--;
cout>k&&q>0){
q--;
您的程序无法读取所有数字,但在执行读取操作后,您必须执行!f1.eof()
检查。当最后一个数字后面有一个文件结尾时,您永远不会输出它
替换
f1 >> k;
while( !f1.eof() && q > 0){
q--;
cout << k << '\n';
f2 << k;
f1 >> k;
}
f1>>k;
而(!f1.eof()&&q>0){
q--;
cout>k&&q>0){
q--;
你能用英语写你的代码吗?尽管读!f1.eof()
会导致最后一个值被写两次,我实际上无法解释或再现为什么你的程序不读任何数字。你能为q
输入一个值>0吗?你可以用英语写你的代码。尽管读!f1.eof())
将导致写入最后一个值两次,我实际上无法解释或再现程序不读取任何数字的原因。是否为q
输入值>0?