Odczyt pliku tekstowwgo

0

Witam jak mam strukture np

Struct z{
int id;
string nazwa;
};

To plik binarny latwo mozna odczytac funkcja

read((char*)&zmiennastruktury,sizeof zmiennastruktury)

Czy w pliku tekstowym mozna uzyc ten funkcji?Z tego co wiem to plik tekstowy barszo sie nie różni od binarnego.Sam sprawdzic nie moge bo nie mam dostepu do komputera

0

Nie możesz w taki sposób zapisywać obiektów (tutaj std::string) do pliku - tzn. możesz, ale zostanie zapisany wskaźnik, a nie "wartość" - musisz zapisywać pole po polu, a podczas wczytywania ręcznie tworzyć instancję std::string itd., poczytaj o serializacji plików w C++.

Czy w pliku tekstowym mozna uzyc ten funkcji?

Dlaczego chciałbyś tej funkcji używać na pliku tekstowym?

0

A gdyby to nie byl string a tablica char?
Tak sie zastanawiam ta funkcja wydaje sie wygodna

0

Tablica także jest jedynie wskaźnikiem, więc nici z tego ;-)

0

@Patryk27 a jak użyjemy tego w ten sposób:

#include <iostream>
using namespace std;
 
typedef struct
{
  int Foo;
  char Bar[100];
} FooBar;
 
int main() {
 
cout << sizeof(FooBar);
return 0;
}

To zadziała. Co więcej w ten sposób będzie można czytać i zapisywać struktury do plików.
https://ideone.com/UdpfiA

0

A, fakt - pominąłem przypadek tablicy o stałym rozmiarze, ponieważ stosunkowo rzadko się coś takiego opłaca robić w dzisiejszych czasach.
Tym niemniej oczywiście, masz rację :-)

0

Cóż bywa ;) Akurat mam coś takiego działającego na produkcji i w ten sposób odbywa się odczyt oraz zapis pewnego configa.. Jednak nie uważam tego za szczęśliwe rozwiązanie. Żeby to ode mnie zależało to taki config trzymałbym w jakimś bardziej ludzkim formacie :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1