strlen, strchr and strstr in C: solved text-search exercise

strlen, strchr and strstr in C: solved text-search exercise

This exercise is scheduled for daily publication and follows the same didactic structure used across the site: clear statement, compilable code, and expected output.

Problem statement

Implement a practical example of the topic and validate the output in the console.

C solution

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#include <stdio.h>
#include <string.h>

int main(void) {
    const char *txt = "aprender c paso a paso";
    printf("Longitud: %zu\n", strlen(txt));

    const char *p1 = strchr(txt, 'c');
    const char *p2 = strstr(txt, "paso");

    if (p1) printf("Primera 'c' en indice %ld\n", (long)(p1 - txt));
    if (p2) printf("Subcadena 'paso' en indice %ld\n", (long)(p2 - txt));
    return 0;
}

Expected output

1
2
3
Longitud: 22
Primera 'c' en indice 9
Subcadena 'paso' en indice 11

Common mistakes

  • Not validating input and standard-library return values.
  • Ignoring edge cases (buffers, limits, null pointers).
  • Skipping basic compile/run verification.

Practical use

strlen, strchr, and strstr are the most used string search functions in parsers, file systems, and validations.

Guided practice and full book

If you want a complete path with progressive difficulty:

FAQ

Is this exercise useful for C exams and technical interviews?

Yes. It targets patterns that commonly appear in practice assignments, technical interviews, and C programming exams.

Where can I keep practicing with more solved C exercises?

In Programming in C in 100 Solved Exercises and C Exercises. Kindle Unlimited: View on Amazon.

How should I practice this exercise type to improve faster?

Start with small inputs, run edge cases (empty, one item, max capacity), then rewrite the solution from scratch without copying.