Меня несколько смущает, что Вы открываете флаг на запись 'w', а потом на нем же пытаетесь что-то прочитать. Тут выходов два - или переоткрывайте файл на чтение-запись, либо откажитесь от одной из операций.
PS: немного подумав, мне пришла в голову идея, что Вы перепечатываете какой-то листинг. И там режим не 'tw', а 'rw' (t и r - соседние буквы в раскладке). А 'rw' - это как раз режим "чтение-запись".