Any idea how can I do this C# loop in C?
foreach (char c in data)
loop through a string by character.
There is no foreach or equivalent in C. You'll have to use a regular for loop:
for (size_t i = 0; i < strlen(data); ++i)
{
    char c = data[i];
    // ...
}
(Assuming data is a pointer to a null-terminated string.)
