IndiaBIX.com
Arithmetic Aptitude Data Interpretation
Logical Reasoning Verbal Reasoning Non Verbal Reasoning
General Knowledge
Sudoku Number puzzles Missing letters puzzles Logical puzzles Playing cards puzzles Clock puzzles
C Programming C++ Programming C# Programming Java Programming
Microbiology Biochemistry Biotechnology Biochemical Engineering
Civil Engineering Mechanical Engineering Chemical Engineering Networking Database Questions Computer Science Basic Electronics Digital Electronics Electronic Devices Circuit Simulation Electrical Enigneering Engineering Mechanics Technical Drawing
Placement Papers Group Disucssion HR Interview Technical Interview Body Language
Aptitude Test Verbal Ability Test Verbal Reasoning Test Logical Reasoning Test C Programming Test Java Programming Test Data Interpretation Test General Knowledge Test
Data Structures Operating Systems Networking DATABASE Database Basics SQL Server Basics SQL Server Advanced SQL Server 2008 JAVA Core Java Java Basics Advanced Java UNIX Unix File Management Unix Memory Management Unix Process Managemnt C Interview Questions The C Language Basics .NET Interview Questions .NET Framework ADO.NET ASP.NET Software Testing

Companies

Placement Papers - Cisco

@ : Home > Placement Papers > Cisco > View Paper
CISCO - 27Apr2012
Rated : +12 , -16
Hi all, I attended Cisco interview for STB Development in C, RTOS, DVB.

They asked the below questions as,

Get an IP address in char * and store it in uint32 variable and display with '.' sysmbol. I worked out and find the below program for your knowledge.

/* Convert IP address Char array to integer array using strtok */

#include<stdio.h>
int main()
{
 char acIPAddr[ 16 + 1 ] = "121.122.123.124";
 unsigned int aui32IPAddr[ 4 ];

 unsigned int i = 0;

 aui32IPAddr[0] = atoi( strtok( acIPAddr, "." ) );

 for(i=1; i!=4; i++)
 {
   aui32IPAddr[ i ] = atoi( strtok(NULL, ".") );
 }

 printf("IPAddr[%d.%d.%d.%d]\n", aui32IPAddr[0], aui32IPAddr[1], aui32IPAddr[2], aui32IPAddr[3] );

 return 0;
}


/* Convert IP address char * to uint32 using sscanf */

#include<stdio.h>
int main()
{
   char * pacIPAddress;
   unsigned int aui8IPAddr[4], i;
   unsigned long int ui32IPAddress;

   pacIPAddress = ( char *) malloc ( sizeof(char) * 16 + 1 );

   pacIPAddress = "121.122.123.124";
   
   sscanf ( pacIPAddress, "%d.%d.%d.%d", &aui8IPAddr[0], &aui8IPAddr[1], &aui8IPAddr[2], &aui8IPAddr[3] );

   ui32IPAddress = ( ( aui8IPAddr[0] << 24 ) | ( aui8IPAddr[1] << 16 ) | ( aui8IPAddr[2] << 8 ) | aui8IPAddr[3] );

   printf ( "ui32IPAddress[%d]\n", ui32IPAddress );

   for ( i=0; i<4; i++ )
   {
       aui8IPAddr[i] = ( ui32IPAddress >> (i*8) ) & 0xFF;
   }

   printf("IP Addr in Interger[%d].[%d].[%d].[%d]\n", aui8IPAddr[3], aui8IPAddr[2], aui8IPAddr[1], aui8IPAddr[0] );

   return 0;
}

Like this?   +12   -16



© 2008-2013 by IndiaBIX™ Technologies. All Rights Reserved | Copyright | Terms of Use & Privacy Policy

Contact us: info@indiabix.com     Follow us on twitter!