w3resource

C Exercises: Convert a string to a long integer

C Variable Type : Exercise-3 with Solution

Write a C program to convert a string to a long integer.

Sample Solution:

C Code:

#include<stdio.h>
#include<stdlib.h>
int main ()
{
	char buffer[] = "2016 40a0b0 -1101110100110111100110 0x5abfff";
	char * ptr_end;
	long int i1, i2, i3, i4;

	i1 = strtol (buffer,&ptr_end,10);
	i2 = strtol (ptr_end,&ptr_end,16);
	i3 = strtol (ptr_end,&ptr_end,2);
	i4 = strtol (ptr_end,NULL,0);
	printf ("\nIn decimals: %ld, %ld, %ld, %ld.\n\n", i1, i2, i3, i4);
	return 0;
}

Sample Output:

In decimals: 2016, 4235440, -3624422, 5947391.

Flowchart:

C Exercises Flowchart: Convert a string to a long integer

C Programming Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Write a C program to convert a string to an unsigned long integer.
Next: Write a C program to convert a string to a double.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

How I can print to stderr in C?

The syntax is almost the same as printf. With printf you give the string format and its contents i.e.:

printf("my %s has %d chars\n", "string format", 30);

With fprintf it is the same, except now you are also specifying the place to print to:

File *myFile;
...
fprintf( myFile, "my %s has %d chars\n", "string format", 30);

Or in your case:

fprintf( stderr, "my %s has %d chars\n", "string format", 30);

Ref : https://bit.ly/3v5U8Zq