/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
char pointer ?!?!?
Fra : Lasse Madsen


Dato : 10-06-03 11:02

Hej jeg vil gerne lave en funktion således (i en embedded c compiler)


void send_sms ( char flash *ptr, long int nr )
{
printf("at+cmgs=%u",nr);
delay_ms(200);
printf("%s%c",*ptr,0x1A);
delay_ms(200);
}


men når jeg skriver send_sms("Hej Hej",12345678);
sker der ikke det helt store ?
er der nogen der kan sige mig om jeg har grebet pointerne forkert an?



 
 
Bertel Lund Hansen (10-06-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 10-06-03 11:07

Lasse Madsen skrev:

>void send_sms ( char flash *ptr, long int nr )

Typen skal erklæres for hver eneste variabel:

   void send_sms ( char flash, char *ptr, long int nr )

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Lasse Madsen (10-06-2003)
Kommentar
Fra : Lasse Madsen


Dato : 10-06-03 11:40

Hej Bertel

flash fortæller blot kompileren at den streng jeg putter in i *ptr er fysisk
tilstæde i flash hukommelsen på processoren.


m.v.h.
l. madsen

"Bertel Lund Hansen" <nospamfor@lundhansen.dk> skrev i en meddelelse
news:hdbbev0a4n8vlufpf44hdl6m3ms093f0hg@news.stofanet.dk...
> Lasse Madsen skrev:
>
> >void send_sms ( char flash *ptr, long int nr )
>
> Typen skal erklæres for hver eneste variabel:
>
> void send_sms ( char flash, char *ptr, long int nr )
>
> --
> Bertel
> http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/



Rasmus Christian Kaa~ (10-06-2003)
Kommentar
Fra : Rasmus Christian Kaa~


Dato : 10-06-03 12:04


> flash fortæller blot kompileren at den streng jeg putter in i *ptr er
fysisk
> tilstæde i flash hukommelsen på processoren.


er det så ikke netop dét der er problemet? nu kender jeg ikke lige embedded
c, men prøv at allokere strengen et andet sted end i funktionskaldet...



Igor V. Rafienko (10-06-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 10-06-03 12:05

[ Lasse Madsen ]

[ ... ]

> void send_sms ( char flash *ptr, long int nr )
> {
:
> printf("%s%c",*ptr,0x1A);


Mener du

printf( "%c%c", *ptr, 0x1A );

eller

printf( "%s%c", ptr, 0x1A );

?





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Lasse Madsen (10-06-2003)
Kommentar
Fra : Lasse Madsen


Dato : 10-06-03 13:48

Hej


> Mener du
>
> printf( "%c%c", *ptr, 0x1A );
>
> eller
>
> printf( "%s%c", ptr, 0x1A );
>


Jeg mener ...


printf( "%s%c", ptr, 0x1A );

for jeg vil jo gerne skrive den streng ud som ptr peger på.


m.v.h.
l. madsen



Igor V. Rafienko (10-06-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 10-06-03 14:07

[ Lasse Madsen ]

[ ... ]

> Jeg mener ...
>
> printf( "%s%c", ptr, 0x1A );
>
> for jeg vil jo gerne skrive den streng ud som ptr peger på.


Nettopp. Og når du skriver akkurat det, hva skjer da?





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste