0

I am programming a kernel in C for a custom operating system that I'm making and I was wondering how I could loop for every character in a const char* and then use if operators to identify a character in the const char* to run specific code.

Matthew G.
  • 79
  • 7
  • 1
    Does this answer your question? [How to iterate over a string in C?](https://stackoverflow.com/questions/3213827/how-to-iterate-over-a-string-in-c) – Tsyvarev Mar 19 '22 at 18:05
  • @Tsyvarev Not exactly – Matthew G. Mar 19 '22 at 18:17
  • 1
    Could you elaborate? You want to iterate over string, and the referenced question asks about that. You don't ask how to put `if` clause into the each iteration, do you? – Tsyvarev Mar 19 '22 at 18:30
  • @Tsyvarev I do, I have searched this question on google, and have found some answers where the character is stored as `"%c"`, and used inside the `printf` function, but for some reason I can't make an `if` statement to check if the string `"%c"` is equal to a specific character – Matthew G. Mar 20 '22 at 12:29
  • Do you know how strings work? – user253751 Mar 21 '22 at 18:24

1 Answers1

1

how I could loop for every character in a const char*

Like that:

const char *p;
for (p = str; *p; p++) {
    // ...
}

and then use if operators to identify a character in the const char* to run specific code.

Inside your loop:

if (*p == 'x') { // Identify a character
    // Run the specific code here
}

Or, if you want to identify a lot of characters:

switch (*p) {
case 'x':
    // Run the specific code here
    break;

case 'y':
    // Run the specific code here
    break;

// ...
}
Zakk
  • 1,935
  • 1
  • 6
  • 17