while( fscanf( fp,"%c",&speech) != EOF ){
puts(speech);
}

にすると読み込めてるんですが、あとの処理では配列がからのままなんですが。。。