Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Tach nochmal,

ich habe hier vier verschiedene Variablen mit Binärzahlen als Inhalt und möchte die vier hintereinander in ein array schreiben.

Ist das realisierbar?

Danke, Shrek

  • Autor

Hi,

Klotzkopp deine Variante funktioniert leider nicht.

Guybrush deine Version funktioniert, vielen dank dafür, allerdings meckert er nun jedes mal über "assignment makes integer from pointer without a cast" läuft ansonsten aber.

Kann ich das irgendwie verhindern?

Gibt es auch eine Möglichkeit in jede Array "Schublade" nur eine Binärziffer schreiben zu lassen und die nächste in [2], etc nur mit allen vier variablen hintereinander weg?

Shrek

Klotzkopp deine Variante funktioniert leider nicht.

Guybrush deine Version funktioniert, vielen dank dafür, allerdings meckert er nun jedes mal über "assignment makes integer from pointer without a cast" läuft ansonsten aber.

Kann ich das irgendwie verhindern?

zeig mal bitte genau wie du das machst und wie du deine Variablen deklariert hast.

Gibt es auch eine Möglichkeit in jede Array "Schublade" nur eine Binärziffer schreiben zu lassen und die nächste in [2], etc nur mit allen vier variablen hintereinander weg?

Das hab ich jetzt nicht verstanden:floet:

  • Autor

Ist-Zustand mit Warning:


int binarray[32];                                                            

char smandbin1[25], smandbin2[25], smandbin3[25], smandbin4[25];

binarray[1]=smandbin1;

binarray[2]=smandbin2;

binarray[3]=smandbin3;

binarray[4]=smandbin4;

printf("\n%s.%s.%s.%s", binarray[1], binarray[2], binarray[3], binarray[4]);

ok also das habe ich vor:

V1=101

V2=110

a[1]=1

a[2]=0

a[3]=1

a[4]=1

a[5]=1

a[6]=0

Thx, Shrek

Jetzt auf Anhieb würd ichs so machen:


#define ANZAHL 4

CString str1 = "";

CString str2 = "";


str1.Format(V1);

str2.Format(V2);

str1 += str2;


int anV[ANZAHL];

int i = 0;


while (i < (ANZAHL-1))

{

        if((str1[i]>='0') && (str1[i]<='9'))

            anV[i] = atoi(str1[i]);

        i++;

}

Geht sicher auch einfacher... naja

Ist-Zustand mit Warning:


int binarray[32];                                                            

char smandbin1[25], smandbin2[25], smandbin3[25], smandbin4[25];

binarray[1]=smandbin1;

binarray[2]=smandbin2;

binarray[3]=smandbin3;

binarray[4]=smandbin4;

printf("\n%s.%s.%s.%s", binarray[1], binarray[2], binarray[3], binarray[4]);

ok also das habe ich vor:

V1=101

V2=110

a[1]=1

a[2]=0

a[3]=1

a[4]=1

a[5]=1

a[6]=0

Thx, Shrek

Moment das ist aber was anderes als du oben geschrieben hast. Du hast also 4 Binärzahlen aus der du eine große machen willst? Dann solltest du einen char Array anlegen das groß genug für alle Binärzahlen ist und dieses dann mit strcpy und strcat füllen. Wenns auch C++ sein darf würde ich std::string benutzen.

Was du da im Moment machst ist


binarray[1]=smandbin1;
[/PHP]

binaary[1] die Startadresse von smandbin1 im Speicher zuzuweisen.

[PHP]
printf("\n%s", binarray[1]);

printf erwartet hier wegen dem %s die Startadresse eines C-Strings welche du ja dann mit binarray[1] übergibst. Das ist also (meiner Meinung nach zumindest) nicht das was du wolltest ;)

Klotzkopp deine Variante funktioniert leider nicht.
Lies meine Signatur. :rolleyes:

Und wenn deine Variablen wirklich Integer gewesen wären - wie du behauptet hast -, und keine char-Arrays, hätte es funktioniert.

Dein Problem ist, wie sich jetzt herausstellt, auch nicht, diese Dinger in ein Array zu schreiben.

Das kommt dabei raus, wenn man nicht das Problem beschreibt, sondern das, was man für die Lösung hält. Viel Zeit nutzlos vertan, auch die der freiwilligen Helfer.

Beschreibe bitte ganz genau die Eingabedaten, und was genau hinterher dabei rauskommen soll. Was willst du nachher mit den Daten machen?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.