Переход на новую строку в файле
Привет всем!
Как правильно осуществить переход на новую строку в файле? Т.е. как правильно вставить '\n' так, чтобы в файле не пропадали следующие два символа? Чтение должно осуществляться по символу.
Искала ответ на данный вопрос, пока ничего толкогого не нашла. Извиняюсь, если нубский вопрос. Новичок. Заранее благодарю!
Обновление
Вот код: http://paste.ee/p/OqhB5
Не дописала условия. По ним нельзя проводить такие манипуляции.
#include <fstream>
#include <cstdio>
using namespace std;
int main(){
fstream f("london.txt", ios::in | ios::out);
if (f.is_open()){
char c;
int symb_string = 0;
int count_letter = 0;
int position = 0;
f.get(c);
while (f){
f.get(c);
position++;
symb_string++;
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' ||
c == ' ' || c == '.' || c == ',' || c == '!' || c == '?' || c == '(' || c == ')'){
count_letter++;
position++;
symb_string++;
}
if (symb_string >= 20){
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'){
f.seekp(position - count_letter + 1);
f.put('\n');
count_letter = 0;
symb_string = 0;
}
else if (c == ' ' || c == '.' || c == ',' || c == '!' || c == '?' || c == '(' || c == ')'){
f.seekp(position + 1);
f.put('\n');
count_letter = 0;
symb_string = 0;
}
}
else continue;
}
printf("Done!");
f.close();
}
else printf("File could not be open");
return 0;
}
Источник: Stack Overflow на русском