这是我在名为main.cpp的文件中的主要方法:
#include <iostream>
#include "ReadWords.h"
#include "Writer.h"
#include <cctype>
#include <string>
using namespace std;
int main() {
int count;
int length;
string word;
cout << "Please enter a filename: " << flush;
char filename[30];
cin >> filename;
这是我试图删除文件中所有标点符号的地方。目前,我能够读取文件并打印所有值。我正在努力访问该文件并删除标点符号。我知道我要使用ispunct。我尝试了很多不同的实现,但无法让它工作。如何删除文件中的所有标点?
ReadWords reader(filename);
while (reader.isNextWord()){
count = count + 1;
reader.getNextWord();
}
cout << "There are: " << count << " words in this text file" << endl;
return 0;
}
这是另一个名为ReadWords的文件,我有我所有的方法声明:我不认为这是相关的/需要的
#include "ReadWords.h"
#include <cstring>
#include <iostream>
using namespace std;
void ReadWords::close(){
}
ReadWords::ReadWords(const char *filename) {
//storing user input to use as the filename
//string filename;
wordfile.open(filename);
if (!wordfile) {
cout << "could not open " << filename << endl;
exit(1);
}
}
string ReadWords::getNextWord() {
string n;
if(isNextWord()){
wordfile >> n;
return n;
}
}
bool ReadWords::isNextWord() {
if (wordfile.eof()) {
return false;
}
return true;
}
答案 0 :(得分:2)
一次从输入文件中读取一个字符。
对于您阅读的每个角色: