Fehlermeldung

OP #1068310
Lesenswert?

Hallo zusammen,

anbei ein Programmsegment:
void InputStr(char *buffer, unsigned short maxlen, int x, int y)
{
  short key;
  unsigned short i = 0;
  unsigned short j = 0;

  buffer[0] = 0;
  char lis[8];
  char *num;
  char num1[8];
  unsigned short anz;
  unsigned short anz1;
//  float zahl;
  for(j =0;j<8;j++)
     lis[j] = 0;
     num1[j] = 0;


  do
    {

      MoveTo (x+50,y);
      printf ("%s_  ", buffer);
        // Note that two spaces are required only if the F_4x6 font is 
used
      key = ngetchx ();
      if (key >= ' ' && key <= '~' && i < maxlen)
        buffer[i++] = key;
      else if (key == KEY_BACKSPACE && i)
        i--;
      buffer[i] = 0;
     } while (key != KEY_ENTER);

        num = strpbrk(buffer,"=");
        anz = strlen(buffer)-strlen(num);
        anz1 = strlen(buffer)-strlen(num+1);

          strncpy(lis,buffer,anz);

          for (j=anz1;j<=strlen(buffer);j++)
          strncpy(num1,buffer[j],1);

es funktioniert bis zur letzten Zeile, jedoch die letzte Zeile!!
Ich bekomme die Fehlermeldung:

Passing argument 2 of '*(*200u + 2484u)' makes pointer from integer 
without a cast.
Was ist hier falsch??

Kann mir jemand helfen, und danke im voraus
Gast #1068420
Lesenswert?

ist mir auch klar, ich wollte lediglich von einem string (z.B "=123") 
nur den Zahlteil haben, also nur "123", hatte aber keinen anderen Befehl 
zur Verfügung. Jedenfalls vielen Dank für Deine Antwort, Gruss Balazs 
(weiss allerdings immer noch nicht wie man so macht)

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