Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
unde ii pot arunca?

Problema respingere memorie supli...

Posibila virusare

Material opac developat filme
 Caramida de sticla la exterior

Geam cuptor crapat

Un canal de AI de comedie pe YT

Update intr-un tabel
 [Controlul] vremii si a vremurilor

Blocuri din placi prefabricate

Achiziție mașina de fam...

[unde] cozonaci traditionali
 Jandarmii in fondul forestier

Sa dus seceta pedologica?

Toyota IQ

Numar magic cu blocaj numerologic
 

fstreams - read si write in acelasi timp

- - - - -
  • Please log in to reply
8 replies to this topic

#1
Sess

Sess

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 20.01.2016
Salut,

Am urmatorul cod:
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream f("test.txt", ios::in | ios::out | ios::app);
if (!f)
{
cout << "File won't open!\n\n";
system("pause");
return 1;
}
f << "Line 1\n";
f << "Line 2\n";
while (f)
{
string line;
getline(f, line);
cout << line<<endl;
}
system("pause");
f.close();
return 0;
}


Cand rulez codul de mai sus, imi scrie in fisier cateva linii de genu:

Quote

ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Daca folosesc fluxurile separat de citire si scriere, totul functioneaza corect.

Ce anume imi scapa la codul de sus?

Multumesc.

#2
Axel2015

Axel2015

    Member

  • Grup: Members
  • Posts: 716
  • Înscris: 10.02.2016
f << "Line 1\n";
f << "Line 2\n"
F << ''Line 3\n''

#3
Sess

Sess

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 20.01.2016

 Axel2015, on 03 decembrie 2016 - 11:29, said:

f << "Line 1\n";
f << "Line 2\n"
F << ''Line 3\n''

Nu inteleg.

#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,251
  • Înscris: 24.02.2007
Ce incerci sa rezolvi folosind read si write in acelasi timp?

#5
Sess

Sess

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 20.01.2016
Vreau sa folosesc acelasi flux de intrare si de iesire deoarece codul pare mai curat si mai usor de inteles. Pe de alta parte, daca C++ ofera posibilitatea asta, de ce nu?

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,251
  • Înscris: 24.02.2007
Cod care face ce mai exact? Daca vrei doar sa recitesti ce scrii, exista stringstream ce face totul in memorie (nu mai freaca discul).

#7
Sess

Sess

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 20.01.2016

 dani.user, on 03 decembrie 2016 - 12:54, said:

Cod care face ce mai exact? Daca vrei doar sa recitesti ce scrii, exista stringstream ce face totul in memorie (nu mai freaca discul).
E doar un exemplu basic ce am postat. Imi poti spune ce anume e gresit? Compilatorul nu arunca nicio eroare.

#8
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,251
  • Înscris: 24.02.2007
E derutat streamul. Pune
f.seekg(0, ios_base::beg);
dupa ce ai scris si inainte de a citi pentru a-i indica ca vrei sa citesti de la inceput.

Deasemenea, trebuie sa verifici daca e ok streamul dupa ce ai apelat getline, nu inainte
string line;
while (getline(f, line))
{
   cout << line << endl;
}


Edited by dani.user, 03 December 2016 - 13:47.


#9
Sess

Sess

    Junior Member

  • Grup: Members
  • Posts: 68
  • Înscris: 20.01.2016
Multumesc frumos!

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate