Jak zamienić tablice charów na liczbę int

0

Witam, mam problem z tym ze w tablicy *char kazde pole to liczba i chce ją przypisac do zmiennej int np. tab[0]=5; tab[1]=1; tab[2]=6 i powinno byc a=516. Prosze i dziękuje za kazda pomoc

2

Masz tam wartość 5 czy '5'? To dość istotna różnica. Jeśli to zwykły string (np. wczytany z klawiatury) to sscanf. W przeciwnym wypadku musisz samodzielnie napisać pętlę i mnożyć.

0

W konsoli wiersza poleceń odpalam program z argumentem jakies liczby, i do argv[1] zapisuje moją liczbę, argv[1][0]=5, argv[1][1]=1, argv[1][2]=6. I chce taki ciąg znaków zapisać do zmiennej int, która będzie reprezentowała tą liczbę.

1

Możesz przesłać całą liczbę, jako pojedynczy argument i zamienić na integera używając atoi:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv){
	int val = atoi(argv[1]);
	printf("%d \n", val);
	return 0;
}
$ ./read_args_to_int 1234
1234

1 użytkowników online, w tym zalogowanych: 0, gości: 1