Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C: string u strukturu

[es] :: C/C++ programiranje :: C: string u strukturu

[ Pregleda: 1831 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pajac
Slovenija

Član broj: 17163
Poruke: 66
*.dsl.siol.net.



Profil

icon C: string u strukturu12.05.2005. u 16:58 - pre 230 meseci
Evo mi opet malog problema....

Code:

#define MAXREDOVA 100

struct line_info{
    int broj_reda;
    char jednaki[MAXREDOVA];
    char razlicni[MAXREDOVA];
};

int main(void){
    
    struct line_info fajl1;

    fajl1.broj_reda = 2;
    fajl1.jednaki = "nesto";
    fajl1.razlicni = "i jos nesto";

    return 0;
}//end main()


proba2.c:16: error: incompatible types in assignment ---> GREŠKA?!

Mozda koji hint, ja sam sprobo sve sta mi je palo na pamet u dva dana!!:(
If we want to discover, we first have to be willing to get lost!
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: C: string u strukturu12.05.2005. u 17:47 - pre 230 meseci
Code:

fajl1.jednaki = "nesto";
fajl1.razlicni = "i jos nesto";


He, he... dakle, razmisljas razumno kako *treba* da se vrsi dodela stringova.
Na zalost to tako ne moze u C-u, ali moze u klasama koje se u praksi koriste.

Treba otprilike ovako (netestirano):

Code:

strcpy( fajl1.jednaki, "nesto" );
strcpy( fajl1.razlicni, "i jos nesto" );


ali moze u jednoj liniji pri deklaraciji:
Code:

char *text = "neki tekst";


ili

Code:

char tekst[] = "neki tekst";


ili u tvom slucaju, netestirano, probaj pa mi javi moze li ovako:

Code:

fajl1.jednaki = {'n', 'e', 's', 't', 'o'};


 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: C: string u strukturu12.05.2005. u 17:56 - pre 230 meseci
Nemoze to tako!!!
Potrebno je da svaki bajt stringa posebno kopiras u znakovni niz.
Evo primjera te funkcije:
Code:

void kopiraj(char *rec1,char *rec2,int duzina_rijeci_dva)
{
    int i;
    for (i=0;i<=duzina_rijeci_dva;++i)
        rec1[i]=rec2[i];
    rec1[i]='\0';
}


Takodje ove funkcije imas u standardnoj c biblioteci u "string.h"
To su funkcije: strncpy() i strcpy() (slicne su).
Pozdrav!

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: C: string u strukturu12.05.2005. u 18:09 - pre 230 meseci
Probao sam ovo u Borland C++ Builderu:

fajl1.jednaki = {'n', 'e', 's', 't', 'o'};

... i nece. Moze li neko to da proveri u MSVC++ kompajleru, na primer ovako:

Code:

// Siguran sam da je ovo nekada moglo u Aztec C /Amiga 500 ?!
char tekst[10];
tekst = { '1', '2', '3', '4' };

 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: C: string u strukturu12.05.2005. u 18:57 - pre 230 meseci
To moze samo pri inicijalizaciji znakovnog niza, ne i pri kasnijoj dodeli
 
Odgovor na temu

pajac
Slovenija

Član broj: 17163
Poruke: 66
*.dsl.siol.net.



Profil

icon Re: C: string u strukturu12.05.2005. u 19:35 - pre 230 meseci
Najpre da kazem, da mi je od početka trebo pointer u strukturi, tako da to radi @X Files.
U bistvu mi je trebala ta funkcijonalnost, za usporedu 2 datoteke. Trebam da ispisem različite redove, pa sam rekao kad sam več tu, zašto ne bi bacio to u tabelu struktur i pored zapamtio i iste redove.Pa bi mogao izpisat željene.
Mozda dobijem koju tocku vise kod zadače! ;)

Citat:

Treba otprilike ovako (netestirano):
Citat:

Code:
strcpy( fajl1.jednaki, "nesto" );
strcpy( fajl1.razlicni, "i jos nesto" );


ali moze u jednoj liniji pri deklaraciji:
Citat:

Code:
char *text = "neki tekst";



Ja inače imam zadatak skoro rešen, problem je bio samo taj mehanizam...
Gornja koda radi tako, da nema vise problema,hvala.
If we want to discover, we first have to be willing to get lost!
 
Odgovor na temu

D3adly

Član broj: 43272
Poruke: 35
*.net.t-com.hr.

ICQ: 281458481


Profil

icon Re: C: string u strukturu13.05.2005. u 10:13 - pre 230 meseci
Možeš i ispisati u string sa sprintf naredbom:


Code:

sprintf (fajl1.jednaki,"nesto");
sprintf (fajl1.razlicni,"jos nesto");


#include <D3adly.h>
 
Odgovor na temu

[es] :: C/C++ programiranje :: C: string u strukturu

[ Pregleda: 1831 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.