Hallo alles, ich versuche, ein Programm zu schreiben, das die längste Zeile und das Wort in einer Datei findet uns Ifstream. Ich habe das Programm, um die längste Zeile zu finden, habe aber Probleme damit, das längste Wort zu finden. Das ist, was ich gerade habe.Suche das längste Wort in einer Datei
Dies ist der Fehler, den ich bekomme.
program1.cpp:44:30: error: ‘get’ was not declared in this scope
while (get(file,word))
Von dem, was ich gelernt habe, ist getline die aktuelle Zeile erhalten verwendet, während Sie sich einfach die Zeichen in dieser Zeile bekommen soll.
#include <iostream>
#include<stdlib.h>
#include<getopt.h>
#include"stdio.h"
#include<fstream>
//#include<sstream>
using namespace std;
int main(int argc, char *argv[]) {
size_t longest = 0;
string longestWord;
int Lcount = 0;
int Wcount = 0;
int option;
string line;
string word;
if(argc <= 1)
{
cout << "NO FILES\n";
return 0;
}
else
{
for(int i = 1;i<argc;i++){
ifstream file (argv[i]);
if (!file.is_open()){
cout << argv[i] << " FILE NOT FOUND\n"; // watch out for /n
}
//else if(!file.close()){
// cout << argv[i] << "NO FILES\n"; }
else{
while (getline(file,line))// Length of Longest Line
{
if(line.size() > longest){
longest = line.size();
}
else if(line.size() == longest){// Number of lines with longest length
++Lcount;}
}
while (get(file,word))
{
if(word.size() > longestWord.size()){
longestWord = word;
}
else if(word.size() == longestWord.size()){
++Wcount;}
}
}
}
}
while ((option = getopt (argc, argv, "c:")) != -1){
switch (option)
{
case 'c':
{
for(int i = 1;i<argc;i++){
ifstream file (argv[i]);
cout << argv[i] << "\n";
cout << longestWord << " (" << Wcount << ")" << "\n";
cout << longest << " (" << Lcount << ")" << "\n";
break;
}
}
default:
//cout << "UNRECOGNIZED FLAG\n";
if(option != 'c'){
cout << "UNRECOGNIZED FLAG\n";
return 0;}
}
}
//if (option != 'c')
//cout << "UNRECOGNIZED FLAG\n";
return 0;
}
Bitte posten Sie den Inhalt Ihrer Methode 'get (file, word)'. –
[Welche dieser speziellen 'get()' Funktionen] (http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=get) wollten Sie verwenden? – user0042
Ich wollte ifstream verwenden – Michael