21. november 2004 - 17:28
Der er
15 kommentarer og 1 løsning
læg to strenge sammen
char buffer[500]; cin.getline(buffer,500); ofstream ud(buffer ???? ".txt",ios::trunc); hvilket tegn skal der stå i stedet for ???? så de to strenge kommer til at hænge sammen?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
21. november 2004 - 17:33
#1
Hvis du er sikker på at der er plads nok i buffer: strcat(buffer, ".txt); ofstream ud(buffer,ios::trunc); Du kan bruge 500 - 4 i kaldet til getline for at sikre dig at der plads nok (ellers kan std::string anbefales).
21. november 2004 - 17:34
#2
Prøv: string buffer; getline(cin,buffer); ofstream ud(buffer + ".txt",ios::trunc);
21. november 2004 - 17:37
#3
bertelbrander det viker fint kom med et svar arne v din har jeg prøvet, pga det jeg har lært i java... men det virkede ikke
21. november 2004 - 17:46
#4
Arne's virker med en lille modifikation, ofstream's constructor skal have en (const ) char *: #include <iostream> #include <fstream> using namespace std; int main() { string buffer; getline(cin,buffer); ofstream ud((buffer + ".txt").c_str(),ios::trunc); } Jeg samler ikke på point.
21. november 2004 - 17:48
#5
ja sorry - jeg glemte .c_str() - den er selvfølgelig nødvendig
21. november 2004 - 17:51
#6
ok så må i jo dele pointne hvis i begge har hjulpet tak for hjælpen
21. november 2004 - 17:52
#7
Jeg synes ikke at det er logisk at den skal have en char *, for mig at se var det logiske at den brugte en "const std::string &", denne kan oprettes dynamisk ud fra en char * (f.ex "test.txt").
21. november 2004 - 17:56
#8
ofstream er jo ældre end string men de kune jo have lavet en constructor mere
21. november 2004 - 17:58
#9
hmm burde det her ikke virke?? ifstream ind((buffer + ".txt").c_str());
21. november 2004 - 18:51
#10
Jo. Men du forsøger vel ikke at læse og skrive på samme fil samtidigt ?
21. november 2004 - 18:52
#11
nope men jeg skal vide om der er en fil med det navn, før jeg laver den. jeg vil jo ikke overskrive noget
21. november 2004 - 18:56
#12
Prøv: struct stat sb; if(stat((buffer + ".txt").c_str(),&sb) == 0)) { // eksisterer } else { // eksisterer ikke } (kræver #include <sys/stat.h>)
21. november 2004 - 18:57
#13
Eller kan du jo appende med ios::app
21. november 2004 - 18:59
#14
når jo det havde jeg helt glemt gi et svar så kan du få dine points nu. ellers kan du først få dem om nogle uger
21. november 2004 - 19:09
#15
ok
21. november 2004 - 19:31
#16
sa sir jeg tak
Kurser inden for grundlæggende programmering