Лишние символы при чтении файла.
fstream f1;
f1.open("temp.txt",ios::in);
f1.seekp(0, ios::end);
int size = f1.tellp();
f1.seekp(0, ios::beg);
char *buffer;
buffer = new char[size];
f1.read(buffer, size);
f1.close();
MessageBox(NULL,buffer,buffer,MB_OK);
В temp.txt - E:\In_CDRW\40 days, 40 nights.avi
(больше символов нет, ни пробелов ни перехода на новую строку.)
MessageBox выдает E:\In_CDRW\40 days, 40 nights.aviээээ
Не то чтобы нельзя было справиться, но просто непонятно почему. Может у кого есть версии.
Заранее спасибо.
Цитата:
Originally posted by Alex_Odessa
Кусок кода:
fstream f1;
f1.open("temp.txt",ios::in);
f1.seekp(0, ios::end);
int size = f1.tellp();
f1.seekp(0, ios::beg);
char *buffer;
buffer = new char[size];
f1.read(buffer, size);
f1.close();
MessageBox(NULL,buffer,buffer,MB_OK);
В temp.txt - E:\In_CDRW\40 days, 40 nights.avi
(больше символов нет, ни пробелов ни перехода на новую строку.)
MessageBox выдает E:\In_CDRW\40 days, 40 nights.aviээээ
Не то чтобы нельзя было справиться, но просто непонятно почему. Может у кого есть версии.
Заранее спасибо.
Кусок кода:
fstream f1;
f1.open("temp.txt",ios::in);
f1.seekp(0, ios::end);
int size = f1.tellp();
f1.seekp(0, ios::beg);
char *buffer;
buffer = new char[size];
f1.read(buffer, size);
f1.close();
MessageBox(NULL,buffer,buffer,MB_OK);
В temp.txt - E:\In_CDRW\40 days, 40 nights.avi
(больше символов нет, ни пробелов ни перехода на новую строку.)
MessageBox выдает E:\In_CDRW\40 days, 40 nights.aviээээ
Не то чтобы нельзя было справиться, но просто непонятно почему. Может у кого есть версии.
Заранее спасибо.
Странно. Скопировал я кусок кода: у меня все нормально.
Цитата:
Originally posted by Nick_M
Странно. Скопировал я кусок кода: у меня все нормально.
Странно. Скопировал я кусок кода: у меня все нормально.
Да вроде бы и сам догадался.
f1.read(buffer, size); заполняет char - овский массив без символа конца строки. Ставишь его и работает. Вроде бы програмка примитивная, а просидел часа три (что хотел, чтобы autorun CD диска запускал фильм видеопросмотровщиком по умолчанию, но что-бы не приходилось всегда называть фильм movie, или что-то в этом роде; дописал в autorun.inf название - и ок). Конечно работать заставил, но времени потратил много.