Skocz do zawartości

Odczyt pliku


Recommended Posts

Napisano

ale to mi sie przsowa w poziomie a ja chce w pionie poza tym seekp();
niezabardzo chce dzialac:
--------------------Configuration: bba - Win32 Debug--------------------
Compiling...
main.cpp
c:\myprojects\bba\tools.h(15) : error C2039: 'seekp' : is not a member of 'ifstream'
c:\program files\microsoft visual studio\vc98\include\fstream.h(98) : see declaration of 'ifstream'
Error executing cl.exe.

bba.exe - 1 error(s), 0 warning(s)

MOj kod:

#include <iostream.h>
#include <fstream.h>
#include <istream.h>
#include <stdio.h>
#include <string>

void wowloader()
{
char name[20];
char addres[50];
char ses[50];
ifstream plik;
plik.open("config.cfg");
plik.get(addres,50);
plik.seekg(1,ios::beg);
plik.get(ses,50);
plik.close();
MessageBox(NULL, name, "World Of Warcraft Username:", MB_OK);
WinExec(addres,SW_SHOWNORMAL);

}

Napisano

Witam.

Jesli chcesz czytac wiecej nie z 1 linijke pliku mozesz do tego wykorzystac funkcje eof() ( End Of File ). Funkcja mowi czy nastapil koniec pliku jesli tak to zwroci true, jesli nie to zwroci false:

# include <iostream.h>
# include <fstream.h>

void main()
{
        char imie[45];

        ifstream odczyt;// plik do czytania

        odczyt.open("plik.txt");

        do
        {
                odczyt.getline(imie, sizeof(imie));

                cout << "Zawartosc pliku: " << imie << endl;
        } while(!odczyt.eof()); // sprawdz czy koniec pliku

        odczyt.close();
}

Funkcje eof wykorzystuje w petli do while. Dopuki w pliku sa jakies dane to je wczytuj - mniej wiecej tak to jest ;]. Mam nadzieje ze rozumiesz o co chodzi. Pozdrawiam.

Napisano

Jeszcze tego nie sprawdzilem ale sprawdze. Macie jakis dobry kurs do winapi oprucz tych na winapi.org???
Juz sprawdzilem nadal nie dziala.
--------------------Configuration: loader - Win32 Debug--------------------
Compiling...
main.cpp
c:\myprojects\loader\tools.h(7) : fatal error C1083: Cannot open include file: 'ifstream': No such file or directory
Error executing cl.exe.

loader.exe - 1 error(s), 0 warning(s)

moze ktos mi wyslac lub dac link do tego pliku.

Napisano

Witam.
marino39: ten blad Ci wyskakuje poniewaz takie cos jak: ifstream.h NIE ISTNIEJE - ifstream jest to klasa, ktora odpowiedzialna jest za odczytywanie danych z pliku. Jesli chcesz korzystac z ifstream piszesz naglowek:

# include <fstream.h>

a w kodzie np.

ifstream odczyt;
ofstream zapis;

Pozdrawiam.

  • 2 weeks later...
Napisano

thx wszystko dziala a teraz pytanie z innej beczki ;]
Mam w jednej zmiennej kilka wyrazow i chce te wyrazy kazdy z osobna do innej zmiennej podpiac np:
char dane = "Marcin 16 Komentarz";
i zeby z tego wyciagnac te wyrazy o na cos takiego:
char imie = "Marcin";
char wiek = "16";
char com = "Komentarz";
Jak tego dokonac??:] Z gory thx

Napisano

Funkcja strtok(char* string,char* seps); (a raczej jej wywołanie w pętli) dzieli string przy użyciu dowolnych separatorów. Przykładowy kod wykorzystujący tę funkcję zakoszony z MSDNa:

#include <string.h>
#include <stdio.h>

char string[] = "A string\tof ,,tokens\nand some  more tokens";
char seps[]   = " ,\t\n";
char *token;

void main( void )
{
   printf( "%s\n\nTokens:\n", string );
   /* Establish string and get the first token: */
   token = strtok( string, seps );
   while( token != NULL )
   {
      /* While there are tokens in "string" */
      printf( " %s\n", token );
      /* Get next token: */
      token = strtok( NULL, seps );
   }
}

i jego wynik:

A string   of ,,tokens
and some  more tokens

Tokens:
 A
 string
 of
 tokens
 and
 some
 more
 tokens

Jednak (jak widać powyżej) wykorzystuje ona biblioteke string.h i jej stosowanie w połączeniu ze strumieniami wydaje mi się mało "eleganckie". Poszukaj w MSDNie jakiegoś jej odpowiednika dla strumieni (na 90% będzie).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...