[C] deel van een array converteren

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 06:29

Mr_gadget

C8H10N4O2 powered

Topicstarter
Ik kom niet helemaal uit het volgende: ik heb een array met een letter en een of twee nummers zoals a12 of a1.
De letter is dit geval het x coordinaat en het cijfer de y coordinaat. Voor de x gebruik ik string-'a' om de int te krijgen. Alleen het lukt met niet om het cijfer er makkelijk uit te krijgen.
is het makkelijkst om hiervoor strncpy te gebruiken of kan het handiger?

Acties:
  • 0 Henk 'm!

  • LazySod
  • Registratie: Augustus 2003
  • Laatst online: 08:07

LazySod

Scumbag with a mission

Afgezien van het feit dat ik het creatief vind om een letter te gebruiken als coordinaat (wordt de X nooit hoger als 26 ofzo?) ...

Als je maar 1 letter gebruikt voor het eerste coordinaat dan zou je kunnen overwegen atoi te gebruiken.

Zoiets dus:

C:
1
2
3
4
5
6
7
int main()
{
char *coords = "a12";
int x = coords[0] - 'a';
int y = atoi(&coords[1]); // of atoi(coords + 1);
return 0;
}


Blijft ranzig. Ik zou een structure met de beide coordinaten prefereren en een wat defterige parsing.

[ Voor 0% gewijzigd door LazySod op 28-09-2009 13:48 . Reden: coordinaatje van plaats verwisseld ]

Proof is the idol before whom the pure mathematician tortures himself. (Sir Arthur Eddington)


Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 06:29

Mr_gadget

C8H10N4O2 powered

Topicstarter
Dit is iig netter dan mijn strncpy(result, coords+1, 2); wat helemaal ranzig is..
de x loopt idd maar tot O.