array zu string (ds18s20)

OP #3005746
Lesenswert?

hallo,

ich habe meine DS18S20 library soweit am laufen. jetzt würde ich gerne 
noch eine weitere funktion haben um direkt einen sensor mit dem romcode 
und nicht mehr skip rom auszulesen. leider komme ich da nicht weiter.

unsigned char readtempfromrom(int romcode)
{
......
return (temp);
}

jetzt lese ich den rom code folgendermaßen ein:

for (i=0; i<8; i++)
{
rom_c[i] = readbyte();
}

hierdurch steht der romcode im rom_c array. für die oben erwähnt 
funktion brauche ich den romcode aber in einem einzigen string ohne ihn 
mit .....[0] bis .....[7] angeben zu müssen daher dachte ich mir

for (i=0; i<8; i++)
{
strcat(romcode, &rom_c[i]);
}

leider muss ich die einzelnen elemente dann wieder mit romcode [0] bis 
romcode[7] aufrufen, ich möchte aber das der gesamte romcode dann in der 
variable romcode steht, wie setze ich das um?

dann würde ich gerne noch wissen wie manche das machen das sie in ihrem 
romcode auch buchstaben haben, mein romcode besteht rein aus zahlen.

ich hoffe man versteht was ich brauche und man kann mir helfen.

danke
OP #3005811
Lesenswert?

das habe ich mir schon durchgelesen. ich kapiere diese ganze pointer 
sache etc nicht.

egal was ich wann wie auch tue ich erhalte von meinem string immer nur 
den ersten wert. ich will aber einen ganzen string.

wenn ich z.b. schreibe:

test = "inhalt";

dann kann ich das einfach mit dem aufruf von test weiter verwenden. beim 
rom_c oder auch romcode muss ich weitergehend mit rom_c[..] arbeiten und 
bei romcode ebenfalls. der romcode soll aber einfach in romcode stehen, 
also als ob ich den selber schreiben würde. romcode = "1234567890" nur 
halt dynamisch aus den array inhalten. in php, bash, phyton sowie perl 
ist das spielend einfach.
#3005959
Lesenswert?

Tobias N. schrieb:
> ich kapiere diese ganze pointer sache etc nicht.

Ohne Zeiger verstanden zu haben wirst Du in C nicht weit kommen. Da 
musst Du ansetzen und es lernen. Es ist kein Hexenwerk, aber man muss 
sich darauf einlassen.

Du kannst auch ein vollständiges, kompilierbares Codebeispiel posten, 
was Du schon versucht hast. Schreib dazu, was welche Funktion genau 
machen soll bzw. was sie macht. Dann kann man versuchen Dir zu erklären, 
wo der Fehler liegt. Für Dich jetzt einen allgemeinen Aufsatz über 
Zeiger und Strings zu schreiben hat nicht viel Sinn, das gibt es schon 
tausendfach in jedem C-Buch und Tutorial.
Gast #3005983
Lesenswert?

Tobias N. schrieb:
> das habe ich mir schon durchgelesen. ich kapiere diese ganze pointer
> sache etc nicht.

Warum glauben manche Zeitgenossen, dass man einen Text schon beim ersten 
Anlauf verstanden haben muss?  Dies scheint die weit verbreitete Pest 
der Instant-Generation zu sein. Immer alles und zwar sofort.

Das Verständnis eines (Fach-)textes erschliesst sich je nach Komplexität 
in mehreren Stufen.
1
while (!verstanden)
2
{
3
    lese();
4
    lerne();
5
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren