Char isn't converting to int
For some reason my C program is refusing to convert elements of argv into ints, and I can't figure out why. int main(int argc, char *argv[]) { fprintf(stdout, "%s\n", argv[1]); //Make conversions to int int bufferquesize = (int)argv[1] - '0'; fprintf(stdout, "%d\n", bufferquesize); } And this is the output when running ./test 50: 50 -1076276207 I have tried removing the (int), throwing both a * and an & between (int) and argv[1] - the former gave me a 5 but not 50, but the latter gave me an output similar to the one above. Removing the - '0' operation doesn't help much. I also tried making a