здравствуйте.
содержимое файла test.txt:
проблема такого рода: читаю из файла слова, ищу те которые начинаются с большой буквы и запоминаю в start_position позицию, где это слово в файле начинается (где большая буква в файле находится). думал так: текущая_позиция_в_файле - длина_слова = начало_слова. использую tellg, почему-то возвращает -1. в итоге вместо 8-ми или 9-ти получаю -6. как сделать правильно? компилер BCBuilder 6
| Код | #include <stdio.h> #include <conio.h> #include <iostream.h> #include <fstream.h>
int main(){ char word[15]; // word array int start_position = 0;
ifstream read_file("test.txt"); // open file if (!read_file) return 0;
while(!read_file.eof()) { read_file>>word; // read word from file cout<<word<<' '; if( word[0]>=65 && word[0]<=90 ) // search first big letter in the word { start_position = (int)read_file.tellg() - (int)strlen(word); cout<<'\n'<<start_position<<'\n'; } }
read_file.close(); getch(); return 0; } |
|