Das Problem bei C ist es, dass es keine echten Strings gibt, sondern nur Char-Arrays/Pointer auf diese. (Wenn man nicht basic_string benutzt)
Deswegen kann man nicht einfach zwei char*/[]s mit == vergleichen. Dafür brauch man die Funktion strcmp() aus string.h
Die Funktion liefert 0 (entspricht false oder auch !) zurück wenn die Strings gleich sind.Da fällt mir noch was ein.
Am Ende des Strings ist wahrscheinlich noch ein Zeilenumbruch \n. Versuch mal !strcmp(todo,"raum1\n").
Übrigens.. wenn man eh C++ benutzt kann man auch folgendes machen: