I don't have enough information about the context you are requesting this function for, and as such I will have to clarify a few decisions and request more information from you, apologies for any inconvenience.

Firstly; I assume you want this to be a single function so I will add an additional input `bool asInt`, to change the behaviour from printing individual 8 byte portions to 32 byte portions.
Secondly; I assume you are requesting that I print the function to the standard output, and that the char's in question are 8 bit ASCII values that can be directly delivered to a printf function.
Thirdly; The string pointer is null terminated.

Additionally; how would you like the ints to be formatted? Are you requesting the printing to be done in unicode, hexadecimal, decimal, or binary? If none of my guesses are correct please provide additional information to guide further design.

Finally I request more information about the behaviour when encountering the end of the string pointer, whilst calling the function when `asInt` is `true`. Would you like the 32 bit int to accumulate bytes one at a time, shifting left, and terminating accumulation upon finding a `\0` nullterm, and printing the accumulated value. Or is the information you would be sending the function 4-byte aligned, with a 4-byte null terminator.
 
If I have assumed your usage of "write" incorrectly - please clarify where the information should be delivered. Also; if you would like the int behaviour to be defined in a separate function please let me know.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence