Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
dina12 Forumaš(ica)
Pridružen/a: 21. 11. 2009. (17:20:26) Postovi: (18)16
|
|
[Vrh] |
|
spot137 Forumaš(ica)
Pridružen/a: 02. 11. 2009. (13:33:18) Postovi: (55)16
Spol:
|
|
[Vrh] |
|
meda Forumaš(ica)
Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16
|
|
[Vrh] |
|
ante003 Forumaš(ica)
Pridružen/a: 13. 10. 2008. (17:45:10) Postovi: (3C5)16
Spol:
|
|
[Vrh] |
|
homesweethome Forumaš(ica)
Pridružen/a: 21. 10. 2009. (16:25:25) Postovi: (1C)16
|
|
[Vrh] |
|
ante003 Forumaš(ica)
Pridružen/a: 13. 10. 2008. (17:45:10) Postovi: (3C5)16
Spol:
|
|
[Vrh] |
|
homesweethome Forumaš(ica)
Pridružen/a: 21. 10. 2009. (16:25:25) Postovi: (1C)16
|
|
[Vrh] |
|
ante003 Forumaš(ica)
Pridružen/a: 13. 10. 2008. (17:45:10) Postovi: (3C5)16
Spol:
|
|
[Vrh] |
|
Cobs Forumaš(ica)
Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol:
Lokacija: Geto
|
|
[Vrh] |
|
gp Forumaš(ica)
Pridružen/a: 18. 09. 2008. (11:16:33) Postovi: (5)16
|
Postano: 0:29 uto, 25. 5. 2010 Naslov: |
|
|
Imam jedno pitanje u vezi stringova pa cu ga ovdje postaviti da ne otvaram novu temu.
Trebam dinamicki alocirati memoriju i onda ucitati string koji sadrzi i razmake(dakle ucitavam do znaka za novi red).
Znam dinamicki alocirati memoriju i znam ucitati string sa razmacima, ali nikako ne uspjevam napraviti kombinaciju. Sto god da sam isprobala, javljalo mi je greske(probala sam sa gets(), pa ucitati znak po znak, pa sa scanf("%[^\n]",...) ).
Hvala
Imam jedno pitanje u vezi stringova pa cu ga ovdje postaviti da ne otvaram novu temu.
Trebam dinamicki alocirati memoriju i onda ucitati string koji sadrzi i razmake(dakle ucitavam do znaka za novi red).
Znam dinamicki alocirati memoriju i znam ucitati string sa razmacima, ali nikako ne uspjevam napraviti kombinaciju. Sto god da sam isprobala, javljalo mi je greske(probala sam sa gets(), pa ucitati znak po znak, pa sa scanf("%[^\n]",...) ).
Hvala
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
gp Forumaš(ica)
Pridružen/a: 18. 09. 2008. (11:16:33) Postovi: (5)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 1:19 uto, 25. 5. 2010 Naslov: |
|
|
[code:1]char *ime_i_prezime;
ime_i_prezime = (char*)malloc(1719*sizeof(char));
scanf("%[^\n]", ime_i_prezime);[/code:1]
Ovo je, jasno, ako znas unaprijed da ce biti najvise 1718 znakova (inace pogledas poglavlje 5.2).
I dalje ne razumijem sto te muci. Ajd' napisi tocan zadatak i jedno od krivih rjesenja (ili, bolje, vise njih), pa mozda onda skuzim (ili netko drugi skuzi).
Kod: | char *ime_i_prezime;
ime_i_prezime = (char*)malloc(1719*sizeof(char));
scanf("%[^\n]", ime_i_prezime); |
Ovo je, jasno, ako znas unaprijed da ce biti najvise 1718 znakova (inace pogledas poglavlje 5.2).
I dalje ne razumijem sto te muci. Ajd' napisi tocan zadatak i jedno od krivih rjesenja (ili, bolje, vise njih), pa mozda onda skuzim (ili netko drugi skuzi).
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
gp Forumaš(ica)
Pridružen/a: 18. 09. 2008. (11:16:33) Postovi: (5)16
|
Postano: 1:34 uto, 25. 5. 2010 Naslov: |
|
|
Treba ucitavati broj N i nakon toga N imena i prezimena(u jednom stringu) i upisati ih u datoteku.
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
int main(){
int i,N,m;
char *ime;
inputfile=fopen("dat.txt","a");
FILE *inputfile=NULL;
if(inputfile==NULL)
{
printf("Ne mogu otvoriti datoteku!");
exit (1);
}
printf("Upisi broj zapisa\n");
scanf("%d",&N);
for(i=0;i<N;i++){
printf("Koliko slova imaju ime i prezime koje zelite upisati?");
scanf("%d",&m);
ime= (char *) malloc((m+1) * sizeof(char));
scanf("%[^\n]", ime); //u drugoj verziji sam probala sa gets(ime)
fprintf(inputfile,"%s\n",ime);
free(ime);
}
fclose(inputfile);
return 0;
}
Kada upisujem bez razmaka i sa scanf("%s",&ime), normalno upisuje u datoteku, a kada pokusavam sa razmakom, dode do dijela gdje treba upisati ime i prezime, ali ga ne ucitava.
Treba ucitavati broj N i nakon toga N imena i prezimena(u jednom stringu) i upisati ih u datoteku.
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
int main(){
int i,N,m;
char *ime;
inputfile=fopen("dat.txt","a");
FILE *inputfile=NULL;
if(inputfile==NULL)
{
printf("Ne mogu otvoriti datoteku!");
exit (1);
}
printf("Upisi broj zapisa\n");
scanf("%d",&N);
for(i=0;i<N;i++){
printf("Koliko slova imaju ime i prezime koje zelite upisati?");
scanf("%d",&m);
ime= (char *) malloc((m+1) * sizeof(char));
scanf("%[^\n]", ime); //u drugoj verziji sam probala sa gets(ime)
fprintf(inputfile,"%s\n",ime);
free(ime);
}
fclose(inputfile);
return 0;
}
Kada upisujem bez razmaka i sa scanf("%s",&ime), normalno upisuje u datoteku, a kada pokusavam sa razmakom, dode do dijela gdje treba upisati ime i prezime, ali ga ne ucitava.
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 1:47 uto, 25. 5. 2010 Naslov: |
|
|
Nema to veze sa stringovima, nego s ovim:
[code:1]inputfile=fopen("dat.txt","a");
FILE *inputfile=NULL;[/code:1]
Pogledaj u skripti kako se otvaraju datoteke.
P.S. Za ubuduce, baci oko sto mi pise u signatureu.
Nema to veze sa stringovima, nego s ovim:
Kod: | inputfile=fopen("dat.txt","a");
FILE *inputfile=NULL; |
Pogledaj u skripti kako se otvaraju datoteke.
P.S. Za ubuduce, baci oko sto mi pise u signatureu.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
gp Forumaš(ica)
Pridružen/a: 18. 09. 2008. (11:16:33) Postovi: (5)16
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
Postano: 16:47 sri, 6. 3. 2013 Naslov: |
|
|
ovakoca,
imam u mainu neki string, npr.
char *x="abcd";
i tu pozivam neku f-ju koja očekuje taj string, npr.
fja (char *a) {...}
sa ovime:
fja (x);
problem je sljedeći:
za ovaj prvi dio, di je napisana fja javlja grešku:
"array type has incomplete elemnt type"
a za poziv iz maina je greška:
"type of formal parametar 1 is incomplete"
što bi to trebalo značiti, tj. kak bi trebala to ispraviti?
ovakoca,
imam u mainu neki string, npr.
char *x="abcd";
i tu pozivam neku f-ju koja očekuje taj string, npr.
fja (char *a) {...}
sa ovime:
fja (x);
problem je sljedeći:
za ovaj prvi dio, di je napisana fja javlja grešku:
"array type has incomplete elemnt type"
a za poziv iz maina je greška:
"type of formal parametar 1 is incomplete"
što bi to trebalo značiti, tj. kak bi trebala to ispraviti?
Zadnja promjena: ivanaaaa; 17:45 sri, 6. 3. 2013; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
Postano: 18:15 sri, 6. 3. 2013 Naslov: |
|
|
[quote="ivanaaaa"]ma prilično sam sigurna da se nećete snaći u tome, dost je komplicirani taj program i svašta nešto radi, pa sam ja izvukla van pojednostavljeno da pitam :D
mislim, a mogu stavit, al ono...[/quote]
Treba mi da mogu kopati po tome. Bar mi pošalji kod na mail, pa da vidim šta kompajler kaže za koju točno liniju.
ivanaaaa (napisa): | ma prilično sam sigurna da se nećete snaći u tome, dost je komplicirani taj program i svašta nešto radi, pa sam ja izvukla van pojednostavljeno da pitam
mislim, a mogu stavit, al ono... |
Treba mi da mogu kopati po tome. Bar mi pošalji kod na mail, pa da vidim šta kompajler kaže za koju točno liniju.
_________________ Extraordinary claims require extraordinary evidence. – Carl Sagan
|
|
[Vrh] |
|
|