Forum: (c++) Problem spara mellanslag i txt fil

Forum huvudsida -> Programmering -> (c++) Problem spara mellanslag i txt fil

Sidor: 1

Till botten

devilwings 15:04 - 18:e November 2007 | Post #1
Medlem
Inlägg: 2


Skicka PM
För tre dar sen sökte jag "programering" på google och c ++ kom fram. då började jag met "hello world" programmet. nu har jag försökt att skapa ett simpelt ordbehandlings program.
du kan ladda eller spara en fil. det går bra att ladda det jag skrivit. mellanslag kommet med då. men när jag ska spara en mening t.ex "hej jag heter robin." så sparas bara "Hej" jag har försökt med både string varibler och char = text[1000] variabler! vad ska jag göra??? (tänk på att menyn inte är komplett bara menyval 1 fungerar!) Här är koden:
  1. //bibloket
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <iodos.h>
  5. #include <fstream>
  6. //saker jag använder + första koden till olika saker
  7. using std::string;
  8. using namespace std;
  9. int meny;
  10. string text_save;
  11. int main(int argc, char *argv[])
  12. {
  13. dos_console();
  14. //credit skärm
  15. cout << "#########################\n#Detta är BETA versionen#\n#av enkel ordbehandlare.#\n# rapportera buggar #\n# till jupiter12 på: #\n# www.cplusplus.nu #\n#########################\n\n\n1. Ladda fil\n2. Rensa fil\n3. Skapa ny fil\n4. Avsluta\n\nVad vill du göra?\n";
  16. cin >> meny;
  17. //menyn är inte färdig! (ser ingen mening med att skapa de andra meny alternativen innan det första är färdigt!)
  18. switch (meny)
  19. {
  20. //menyval 1 (de ända menyvalet än så länge)
  21. case 1:
  22. cout << "Du har valt att ladda fil.\n\n";
  23.  
  24.  
  25. // laddningen går bra och alla ord skrivs ut
  26. ifstream inp1("text1.txt"); // objektet ''inp1'' är nu en ström från filen ''test.txt''.
  27. /*andra möjligheter är:
  28. ios::in <-läsning
  29. ios::binary <-binära filer
  30. ios::ate <- öppna på slutet av filen
  31. ios::trash <- om filen existerar tömmer vi den först.*/
  32.  
  33. // tog detta från c++.net :P
  34. char line1[256];
  35. for (int i=0; !inp1.eof(); i++)
  36. {
  37. inp1.getline(line1, 255);
  38. cout << line1 << endl;
  39. }
  40.  
  41. if (inp1.is_open()) //om filen är öppen
  42. {
  43. for (int i=0; !inp1.eof(); i++)
  44. {
  45. inp1.getline(line1, 255);
  46. cout << line1 << endl;
  47. }
  48. cout << "\n\n\n nu kan du fortsätta skriva på filen.\n\n";
  49. //här kan problemet vara (vet ej riktigt vad det är) det är här man fortsätter skriva.
  50. cin >> text_save;
  51. //eller också är problemet här där utp blir utskicket till txt filen
  52. ofstream utp("text1.txt", ios::app);
  53. //eller här är själva utskicket är!
  54. utp << text_save << " ";
  55. }
  56. else
  57. {
  58. cout << "Du har inte sparat någon fil!!!" << endl;
  59. }
  60. inp1.close(); //stäng filen
  61. break;
  62. }
  63.  
  64. system("PAUSE");
  65. return EXIT_SUCCESS;
  66. }

jag är tacksam för svar!Smiley Smiley jag använder dev-c++ för att kompliera


Senast redigerad 15:07 - 18:e November 2007


Tesuki 18:55 - 18:e November 2007 | Post #2
Medlem
Inlägg: 122


Skicka PM
felet är vid cin, då cin endast läser fram till '' '' (blanksteg)gå in på www.cplusplus.com och läs på hur amn använder get() och getline() detta hittar du i iostreams istream del.





devilwings 13:43 - 19:e November 2007 | Post #3
Medlem
Inlägg: 2


Skicka PM
ok ty




Sidor: 1

Forum huvudsida -> Programmering -> (c++) Problem spara mellanslag i txt fil
Atom feed

Du får inte posta i den här tråden | Till toppen