Quel est l'équivalent C de la méthode Convert.ToInt16 (String) de C#? Dans mon cas, ma chaîne est un tableau char. MerciC# Convert.ToInt16 (Chaîne) C Équivalent
1
A
Répondre
5
Vous pouvez essayer atoi.
+0
Je sais qu'il y a quelques complications dans certains cas, mais cela suffit pour résoudre mon cas. Merci – cocoatoucher
1
Utiliser atoi ou strtol.
int n = atoi(s)
0
vous pouvez également utiliser sscanf
sscanf("%i", myCharPointer, &myIntVar);
En C++, vous avez plus d'options –
@Ionut, en C++ vous ne savez pas quel type est de 16 bits. En C ce sera 'int'. –
@Kirill: Pas vraiment. C ne nécessite pas int pour être 16bit. Il indique en fait qu'un entier non signé peut contenir toutes les valeurs comprises entre 0 et UINT_MAX inclus. UINT_MAX doit être au moins 65535. Les types int doivent contenir au moins 16 bits pour contenir la plage de valeurs requise. Alors oui, en C, vous êtes sûr qu'il y a au moins 16 bits. –