【发布时间】:2015-07-09 15:31:09
【问题描述】:
我想制作一个按数字读取文件的控制台项目。示例:按数字 1 2 查找,它仅在包含这些数字的文件夹中的控制台文本行中打印
bibi ceki 1 2
hasesh cekiii 1 3
krki cko 1 2
在这种情况下,它只会打印出“bibi ceki”和“krki cko”。 在我的代码中有很多缺失的东西。我没有一个循环来检查是否有正确的数字,但这是我能做的最好的和我尝试过的:
#include <fstream>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main() {
char str1[10], str2[10];
int raz, ode;
ifstream infile("file.txt");
while (infile.good()) {
fscanf(infile, "%s %s %d %d", str1, str2, &raz, &ode); //this thing cant be used lik this
while(raz==1 && ode==2) {
string sLine;
getline(infile, sLine);
cout << sLine << endl;
}
}
infile.close();
return 0;
}
如您所见,使用 fscanf 的行不起作用,我不知道该怎么做。
如果有更好的方法,我需要一些帮助和建议,请尽可能具体,我是 c++/c 新手。
【问题讨论】: