Avatar billede php_programmoer Nybegynder
25. februar 2006 - 14:46 Der er 7 kommentarer og
1 løsning

fejl i cin

Hvad er fejlen her

#include<iostream>
#include<fstream>

using namespace std;

int main()
{
  char str[51];
  string slet = "delete";
  string aben = "open";
 
  //fortæller brugeren hvilke kommando'er brugeren kan benytte
  cout << "Hvis du vil slette indholdet i filen saa skriv delete" << endl;
  cout << "Hvis du vil aabne en fil saa skriv open" << endl;
  cout << "" << endl;

  //gemmer det man skrev i variablen str
  cout << "Skriv din kommando her: ";
  cin >> str;
  cout << "" << endl;
  cout << "Skriv filnavn her: ";
  ////////////////fejl her/////////////////
  cin >> navn;
  ////////////////fejl slut////////////////
 
    //hvis man skrev ordet delete så sletter den alt indhold i filen
    if (str == slet) {
        ofstream a_file (navn".txt", ios::trunc); 
        a_file<<"";
        a_file.close();
  system("PAUSE");
        return 0;
    //hvis man skrev ordet open så åbner den indholdet af filen
    }if (str == aben) {
        ifstream b_file ( navn".txt" );
        b_file>> str;
        cout << "" << endl;
        cout << "Filens indhold er: ";
        cout << str << endl;
        cout << "" << endl;
        b_file.close();
  system("PAUSE");
        return 0;
    }
  system("PAUSE");
  return 0;
}
Avatar billede php_programmoer Nybegynder
25. februar 2006 - 14:49 #1
fandt ud af det var fordi jeg har glemt at definere den som en variabel.. altså char[51];

men der er fejl i denne..
ofstream a_file (navn".txt", ios::trunc);
altså jeg ved godt at det er navn".text" der er fejl i... men hvordan skal jeg så gøre?
Avatar billede arne_v Ekspert
25. februar 2006 - 15:09 #2
char fuldnavn[1000];
sprintf(fuldnavn,"%s.txt",navn);
ofstream a_file (fuldnavn, ios::trunc);

maaske
Avatar billede php_programmoer Nybegynder
25. februar 2006 - 15:11 #3
jeps.. ordnede det bare ved at skrive navn... altså uden .txt.. for jeg indså at det jo også skulle virke med andre fil endelser :-)

men du skal da alligevel have point - læg et svar.

PS. ved du hvordan man sletter en fil helt ? og hvad med oprettelse.. - vil gætte på noget ala mkdirfile ? hehe
Avatar billede nlf Nybegynder
25. februar 2006 - 15:23 #4
Har du overvejet at benytte std::string i stedet for char*?
Du benytter jo alligevel STL til resten, så det er vel en nærliggende tanke?

Bare lige en tanke, jeg kom på ;)
Avatar billede php_programmoer Nybegynder
25. februar 2006 - 15:36 #5
ja måske.. men ved du noget om det jeg skrev i 15:11:41 til sidst ?
Avatar billede arne_v Ekspert
25. februar 2006 - 23:41 #6
slet fil:

remove("foobar.dat");

er i cstdio
Avatar billede arne_v Ekspert
25. februar 2006 - 23:42 #7
opret fil:

normalt sker det ved at man aabner en fil fot skrivning
Avatar billede arne_v Ekspert
25. februar 2006 - 23:42 #8
og et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester