Call to undefined funktion getline!!!! wer kann mir helfen???



  • Bitte mach uns das Helfen doch einfach und formatiere den Quellcode vernünftig.

    <string> ist immernoch drin?
    outfile findet er nicht, weil outfile nirgends definiert wird.



  • LordJaxom schrieb:

    Bitte mach uns das Helfen doch einfach und formatiere den Quellcode vernünftig.

    Das ist mittlerweile mindestens das vierte mal, dass ihm jemand sagt..

    @_sweetheart_
    Lies verdammt nochmal, was ich geschrieben habe!!



  • ich hoffe das es jetzt so besser für euch zu lesen ist

    # include <iostream>
    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # include <stdio.h>
    # include <string>
    # include <algorithm>
    # include <fstream>
    # include <conio.h>
    const int SIZE=200;
    int main()
    {
    	 int 	Empfaenger,length,zeile;
    	 char	Abteilung[100],* buffer,outfile[200],line;
    	 ifstream	file;
     	 cout<<"Mit diesem Programm werden Ned Send Messages verschickt!! \n\n...Weiter mit der Enter-Taste...";
    	 getchar();
        cout<<"\nBitte waehlen sie den Empfaenger aus!\n\n1= Gruppe waehlen\n2= Benutzer waehlen\n";
    	 cin>>Empfaenger;
     	 if(Empfaenger==1)
     		 {
    		 	using namespace std;
     			ifstream infile("abf_User.txt");
             for(size_t nlines = 1; getline(infile, line); ++nlines)
     			if(nlines == 5) break;
     			cout<< line;
     			// close files if proceeding...
     			ifstream is;
     			is.open("abf_User.txt",ios::binary);
     			is.seekg(0,ios::end);
     			//length= is tellg();
     			is.seekg(0,ios::beg);
     			buffer = new char [length];
     			is.read(buffer,length);
     			is.close();
     			cout<< buffer<<length;
     			delete[] buffer;
     			cout<<"\n\n\nBitte waehle eine der Abteilung per NAMEN aus!!!\n\n";
        		cin>> Abteilung;
        		cout<<"\nSie haben sich fuer die Abteilung "<<Abteilung<<" entschieden!\n";
       	 }
    

    also ich habe jetzt den string entfernt nun zeigt er mir das er probleme mit der for-schleife hat also mit dem hier:

    for(size_t nlines = 1; getline(infile, line); ++nlines)
    

    genau zeigt mir borland diesen fehler an:

    Could not find a match for 'std::getline(ifstream,char)'



  • boar xD

    #include <iostream>
    #include <string>
    #include <fstream>
    #include <conio.h>
    
    int main()
    {
     std::cout << "Mit diesem Programm werden Ned Send Messages verschickt.\r\n\r\n...Weiter  mit der Enter-Taste..." << std::endl;
     getchar();
     std::cout << "Bitte waehlen sie den Empfaenger aus!\r\n\r\n"
        << "1 = Gruppe waehlen\r\n"
        << "2 = Benutzer waehlen\r\n";
     char EmpfaengerWahl(0);
     do
     {
     std::cin.clear;
     std::cin.ignore(std::cin.rdbuf()->in_avail());
     std::cin >> EmpfaengerWahl;
     } while (EmpfaengerWahl != '1' && EmpfaengerWahl != '2')
     if (EmpfaengerWahl == '1')
     {
      ifstream infile("abf_User.txt");
      std::string inhalt;
      while (! infile.eof())
      {
       std::string line;
       std::getline (infile, line);
       inhalt += line + "\r\n";
      }
      std::cout << "\r\nBitte waehle eine der Abteilung per Name aus." << std::endl;
      int Abteilung(-1);
      do
      {
      std::cin.clear;
      std::cin.ignore(std::cin.rdbuf()->in_avail());
      std::cin >> Abteilung;
      } while(Abteilung < 0);
      cout << "\r\nSie haben sich fuer die Abteilung "
         << Abteilung << " entschieden" << std::endl;
     }
     else
     {
     }
    }
    

    sollte fast genau das sein, was du bis jetzt machst - nur, dass du die Datei nicht mehr doppelt ausliest...
    Ist vll nicht gerade das eleganteste, aber immerhin siehts schon ein wenig besser aus, als deins ^^

    btw: war da auch irgendwas drin, was nicht copy&paste war?

    bb



  • also ich habe deinen code ausgeführt und er sagt mir das cin,cout und endl kein element von std ist

    wie soll ich da jetzt rangehen ich kann jan icht alle std einfach entfernen



  • Ist der Compiler vielleicht von 1995?!?



  • sweetheart schrieb:

    also ich habe deinen code ausgeführt und er sagt mir das cin,cout und endl kein element von std ist

    wie soll ich da jetzt rangehen ich kann jan icht alle std einfach entfernen

    hast du auch das #include <iostream> drin?



  • also iostream habe ich drin
    nur leider weis ich nicht von wann der compiler ist
    ich schätze so 1995 aber ich weis es halt eben nicht genau

    nur wie kann ich das ändern das das programm trotzdem läuft



  • Lad dir doch einen aktuellen runter:
    http://www.microsoft.com/germany/Express/



  • aber gibt es nicht unterschiede zwischen VBC++ und Borland C++???



  • sweetheart schrieb:

    aber gibt es nicht unterschiede zwischen VBC++ und Borland C++???

    Kommt darauf an auf welche Compilerspezialitäten du zurückgreifst (und wieviele Prä-Standard Sachen du verwendest). Unter Windows ist die Micorsoft-Entwicklungsumgebung spätestens seit der 2005er die, oder zumindestens einer der besten. Davon abgesehen ist dein Compiler 13(!) Jahre alt... (Der Ansi C++ Standard 10 Jahre, die weitgehende Umsetzung ist eigentlich erst seit einigen Jahren wirklich gegeben).

    Natürlich muss man aber auch sehen das die Entwicklungsumgebung mehr als nur der Compiler ist (und daher recht viel der Festplatte belegt). Wichitg ist nur beim Anlegen eines neuen Projektes auf "Win32 Console Application" zu gehen, nicht auf "CLR Console Application" (das wäre C++/CLI), zudem würde ich auf den zweiten Tab bei der Projektanlage "Empty Projekt" anharken...

    cu André



  • hmm ich habe nur gelernt mit dem Borland c++ compiler zu programmieren

    ist das denn eine große umstellung von borland zu VB?



  • sweetheart schrieb:

    hmm ich habe nur gelernt mit dem Borland c++ compiler zu programmieren

    ist das denn eine große umstellung von borland zu VB?

    VB heißt visual basic... hat also nichts mit C++ zu tun...
    Irgendwie hab ich mehr und mehr das Gefühl, dass du nicht mal ne Ahnung von den Grundlagen des Programmierens (und überhaupt Ahnung vom PC) hast - und das erschwert das Ganze natürlich ungemein...

    Also: Lad dir die "Visual Studio Express Edition" auf microsoft.com runter - kannst beim Installieren an sich alles deaktivieren, außer das, wo C++ im Namen steht (also den DatenBank-Müll etc kannst du weglassen) - dann klickst du auf Projekt erstellen -> C++ -> Empty Project...
    Und ab da sollte sich das ganze nicht viel vom BCB nehmen (C++ bleibt ja C++) - falls du allerdings Dinge wie AnsiString, GUI etc verwendest, wirst du dich ein wenig (bis sehr - je nach dem) umstellen müssen...

    bb


Anmelden zum Antworten