Delete a File in C – remove() with Error Handling

To delete a file in C, call the standard library function remove() from <stdio.h>: it takes the file name as a string and returns 0 on success. That one line is portable across Linux, macOS, and Windows — no operating-system headers needed. What separates a toy example from production-quality code is what happens when deletion …

Draw a Circle in C — Midpoint Circle Algorithm (No graphics.h)

The classic way this exercise was taught — Turbo C’s <graphics.h> with initgraph() and circle(x, y, r) — hasn’t compiled on a mainstream system in decades: graphics.h was a Borland DOS library, not part of C. But the underlying question is still excellent: how does a computer decide which pixels form a circle? The answer …

Difference Between Two Dates in C – mktime() and difftime()

Computing the difference between two dates in C is a classic exercise that most tutorials get subtly wrong — hand-rolled day counting that forgets the century leap-year rules, so 1900 counts as a leap year when it wasn’t. The C standard library already solved this: convert each date to a time_t with mktime(), subtract with …

Replace a Substring in C – Safe Replace-All Implementation

Replacing a substring means finding every occurrence of one piece of text inside a string and swapping it for another — for example, turning “the cat sat on the mat” into “the cog sog on the mog” by replacing “at” with “og”. C has no built-in function for this (unlike Python’s str.replace()), so it’s a …

K&R C Chapter 2 Exercise Solutions — Types, Operators, and Expressions

Chapter 2: Types, Operators, and Expressions covers C’s type system and operators in depth. The exercises focus on bitwise manipulation — rotating bits, setting and clearing fields, counting set bits — and type-conversion edge cases. Exercise 2-9 (x &= (x-1) deletes the rightmost 1-bit) is a classic bit-manipulation trick worth memorising. These are worked solutions …

Find the Position of a Substring in C

Finding the position of a substring means locating the index where one string first appears inside another — for example, “world” starts at index 6 in “hello world”. This is one of the most common string operations in C, used for parsing text, validating input, and implementing search features. The standard library already provides strstr() …