Write a C language function named count that takes a void pointer and int parameter, representing a memory buffer, and a uint8_t parameter representing a byte, and returns an int result. The returned result should be the number of occurrences of the byte in the bufer. For example if the buffer p pointed to the bytes 01 12 01 23, then count(p, 4, 0x01) should return 2.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write a C language function named count that takes a void pointer and int parameter, representing a memory buffer, and a uint8_t parameter representing a byte, and returns an int result. The returned result should be the number of occurrences of the byte in the bufer. For example if the buffer p pointed to the bytes 01 12 01 23, then count(p, 4, 0x01) should return 2.

Expert Solution
Step 1

Program code:

#include <stdio.h>
#include <stdint.h>

int count(void *buf, int buf_bytes, uint8_t x)
{
// convert the void pointer to the char pointer
char* pChar=(char*)buf;
 
// Take the count and initialze it to ZERO
int count=0;
// start a loop
for(int i=0;i<buf_bytes;i++)
{
// Check if the value is matched
if(pChar[i]==x)
count++; // increase the count
}
// return the count here to the main function
return count;
}
int main()
{
unsignedchar buffer[] = { 0x01, 0x12, 0x01, 0x23 };
printf("Result = %d\n", count(buffer,4,0x01));

return0;
}
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Functions
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education