我想創建一個程序,它將加載CSV文件,並根據輸入的文字搜索文件並返回任何包含該單詞的行。 CSV文件是微博的海量下載,並具有以下欄目:C++從輸入的字符串搜索CSV文件
- 日期&創建時間
- 鳴叫
的微博也被b'TWEET TEXT HERE」,讓周圍會需要從打印出來時刪除b「。我無法改變任何與CSV文件可悲,所以不能手動刪除它。我遇到的問題是:
- 清單的程序只是凍結
- 去除
- else語句導致‘未找到’的鳴叫B」「的文件內鳴叫的總量是不斷印刷
代碼我目前已經返回包含輸入詞的推文,也包含誤報。
電流輸出運行下面的代碼時
#include "stdafx.h"
#include <cstring>
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string token;
ifstream fin;
fin.open("sampleTweets.csv");
if (fin.is_open())
{
cout << "File opened successfully" << "\n";
}
else {
cout << "Error opening file" << "\n";
}
cout << "Enter search word: ";
cin >> token;
"\n";
string line;
while (getline(fin, line)) {
if (line.find(token) != string::npos) {
cout << line << endl;
} else {
cout << token << " not found" << endl;
}
}
fin.close();
char anykey;
cout << "press any key";
cin >> anykey;
return 0;
}
我所用,用於計算總鳴叫
int count = 0;
char str[140];
while (!fin.eof())
{
fin.getline(str, 140);
count++;
}
cout << "Number of lines in file are " << count;
代碼任何幫助將是我相當驚人新的C++和不確定從哪裏去!
爲什麼你無條件地運行'cout << token <<「not found」<< endl;'? – NathanOliver
啊,這將解釋它總是打印出來的事實... –
cin >> token; 「\ n」 個;我不確定你在這裏想達到什麼,但這是錯誤的。 – willll