ďťż

Ładny brzuch

Witam,

Mam takie pytanko: jak zamienic tablice znakow na lancuch? (np, tab[3]={'a','b','c','d'} ,a lancuchma wygladac tak: lan="abcd")
mecze sie z tym od jakiegos czasu ale nie moge tego dobrze zrobic.

Jest mi to potrzebne bo chcialbym zrobic program, ktory czyta znaki z pliku, jak dojdzie do spacji albo znaku konca linii to tworzy wyraz z tych znakow a potem zapisuje te wyrazy w innym pliku jeden pod drugim

(chodzi o to ze jak jest plik tekstowy to program czyta tekst i zapisuje w innym pliku slowa tego tekstu jedno pod drugim)

z gory dzieki za odpowiedzi

pozdrowienia,
konjo



Moge podac ci program wyodrebniajaca wyrazy z bufora:
wypelnianie tablicy
#include <iosteream>
using namespace std;
int main()
{
char buffer[80]; //bufer na 80 znakow (miesci 79 znakow oraz NULL)
cout << "Wpisz lancuch znakow: ";
cin.get(buffer, 79); //pobiera do 79 znakow lub do nowej linii
cout << "oto zawartosc bufora: " << buffer endl; 11: retrn 0;
}
A teraz cos extra
uzywa argumentow linii polecenia. Musisz go odpalic z linii polecen DOS
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "Otrzymano " << argc << " argomentow.n";
for (int i=0; i<argc; i++)
cout << "argument " << i << ": " << argv[i] << endl;
return 0;
}
Jak cos to pisz

>BaR_TeK<
Language: C++/DirectX/WinAPI
IDE: MS Visual C++

cytat:konjo napisał:

Witam,

Mam takie pytanko: jak zamienic tablice znakow na lancuch? (np, tab[3]={'a','b','c','d'} ,a lancuchma wygladac tak: lan="abcd")
mecze sie z tym od jakiegos czasu ale nie moge tego dobrze zrobic.

Jest mi to potrzebne bo chcialbym zrobic program, ktory czyta znaki z pliku, jak dojdzie do spacji albo znaku konca linii to tworzy wyraz z tych znakow a potem zapisuje te wyrazy w innym pliku jeden pod drugim

(chodzi o to ze jak jest plik tekstowy to program czyta tekst i zapisuje w innym pliku slowa tego tekstu jedno pod drugim)

z gory dzieki za odpowiedzi

pozdrowienia,
konjo

Mozna zrobic to tak:
char tab[3]={'a','b','c'};
char *lan;
lan=tab;

Jak widac lan musi byc wskaznikiem.

cytat:Rom napisał:Mozna zrobic to tak:
char tab[3]={'a','b','c'};
char *lan;
lan=tab;

Jak widac lan musi byc wskaznikiem.

Nie ma konieczności tworzenia nowej zmiennej, zamiast lan spokojnie mozna uzyc tab bowiem nazwa tablicy jest wskznikiem do niej samej a konkretnie do jej pierwszego elementu :)

KoDo
GG:3857769



A tutaj jeszcze mały przykładzik. Czytanie łancuchów dowolnej długości:
#include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) {        string s;        while(s.compare("q")!=0)        {                cout << "Wpisz cokolwiek: ";                s.clear();                char c;                while((c=cin.get())!='n') s+=c;                cout << "Wpisales: " << s << endl;        }        system("PAUSE");        return 0; }

KoDo
GG:3857769

Czyli wiesz już wszystko. Ale jeśli chciałbyś chodziłoby ci o takie procedury w Delphi to daj znać.

Nie można mylić tego co uważa się za rzeczywistość, z tym co nią jest.

dzieki za odpowiedzi

pobawie sie z tym troche...

pozdrowienia,
konjo

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •