You can’t really. That’s kind of the point of range-for, is that you don’t need iterators. But you can just change your logic on how you print your comma to print it if it’s not first:
bool first = true;
for (auto& elem : item_vector) {
if (!first) printf(", ");
// print elem
first = false;
}
If that’s the intent of the loop anyway. Or you could compare the addresses:
for (auto& elem : item_vector) {
if (&elem != &item_vector.back()) printf(", ");
// ...
}