我正在使用 C++ 研究數據結構。一切看起來都很好。這是一個簡單的 C++ 文件讀取。我認為這段代碼的輸出應該是:
1
K
3
4
5
但我看到:
1
2
3
4
5
我怎麼可以data[4]
在if
?
這是文件.txt
A(1#Jordan)
A(2#Kyrie)
A(3#Lebron)
A(4#Harden)
A(5#Doncic)
這是我的代碼
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
fstream file;
file.open("file.txt", ios::in);
if(file.is_open()){
while(!file.eof())
{
char data[20];
file >> data;
if(2 == data[2])
cout << data[4]<< endl; //**
else
cout << data[2] << endl;
}
}
file.close();
return 0;
}
將 char 與 int 進行比較的方式存在一個小錯誤;正確的比較是使用“2”:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
fstream file;
file.open("file.txt", ios::in);
if(file.is_open()){
while(!file.eof())
{
char data[20];
file >> data;
if('2' == data[2])
cout << data[4]<< endl; //**
else
cout << data[2] << endl;
}
}
file.close();
return 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句