Exploring C Libraries
1h 58mAdvanced2025-03-18
Authors

Dan Gookin
Creator, Teacher, and Technology Writer with 20+ years of experience
Course details
External libraries expand the C language's capabilities, allowing developers to build programs that can do all manner of amazing things. In this course, learn how to tap into the power of external libraries to access complex data, interact with the web, play with graphics, and more. Instructor Dan Gookin covers a variety of C libraries—from libcurl to ncurses—explaining how to install and test each one. Dan highlights libraries that allow you to manipulate JSON; save and send web data; work with text; read, write, and manipulate image data; and more. Along the way, he provides sample code and demonstrations to help make these concepts stick.
Learning objectives
Finding, installing, and linking libraries
Accessing and generating XML data
Working with JSON
Working with the libcurl library
Text programming
Reading, writing, and manipulating JPEG images
Working with PNG images
Learning objectives
Finding, installing, and linking libraries
Accessing and generating XML data
Working with JSON
Working with the libcurl library
Text programming
Reading, writing, and manipulating JPEG images
Working with PNG images
Skills covered
CProgramming LanguagesOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Expand on what C can do with C Libraries
- 02 - Using the exercise files
- 03 - Working with the code
1. Setup and Configuration
- 04 - Understanding libraries
- 05 - Finding a C library
- 06 - Installing a library
- 07 - Linking a library - Command prompt
- 08 - Liking a library - IDE
2. Data Structures
- 09 - Understanding XML
- 10 - Testing the libxml2 installation
- 11 - Accessing XML data
- 12 - Generating XML data
- 13 - Working with JSON
- 14 - Testing the json-c installation
- 15 - Accessing JSON data
- 16 - Reading JSON data
- 17 - Creating JSON output
- 18 - Challenge - Converting data formats
- 19 - Solution - Converting data formats
3. Web Access
- 20 - Testing libcurl
- 21 - Fetching a web page
- 22 - Saving web data
- 23 - Sending data
- 24 - Challenge - Read and save a web page
- 25 - Solution - Read and save a web page
4. Text Programming
- 26 - Working with wide characters
- 27 - Building an ncurses program
- 28 - Controlling the text screen
- 29 - Making color text
- 30 - Exploring ncurses input
- 31 - Challenge - Fill the screen
- 32 - Solution - Fill the screen
5. Computer Graphics
- 33 - Accessing a JPEG
- 34 - Reading and writing JPEG images
- 35 - Manipulating JPEG images
- 36 - Working with PNG images
- 37 - Modifying a PNG image
- 38 - Challenge - A blue square
- 39 - Solution - A blue square
Conclusion
- 40 - Writing your own library
- 41 - Next steps