Как переместить указатель файла в начало файла в MFC? - PullRequest
1 голос
/ 07 марта 2019

Я пытаюсь прочитать содержимое одного файла в MFC, где файл состоит из нескольких типов данных массива символов. Поэтому при чтении с использованием

ar.ReadString(tempstringTitle1);
ar.ReadString(tempstrTitle2);

Я получаю все строковые значения массива символов в самом tempstrtitle1 вместо деления.

Вот как я пишу:

char tempstrTitle1[23]="xydcvf";
char tempstrTitle2[23]="asdlk"
ar.WriteString(tempstrTitle1);
ar.WriteString(tempstrTitle2);

поэтому, пожалуйста, дайте мне знать, как я могу получить эти строки отдельно в tempstrTitle1, tempstrTitle2;

также в MFC я получаю указатель файла, используя синтаксис:

const CFile* cfptr = ar.GetFile();

и я хочу переместить этот указатель в начало файла, но я использую cfptr->SeekToBegin();, но я получаю сообщение об ошибке, утверждая, что объект имеет спецификаторы типа, которые не совместимы с функциями-членами CFile::SeekToBegin();

пожалуйста, дайте мне знать, какую ошибку я делаю? Спасибо за помощь

1 Ответ

1 голос
/ 07 марта 2019

ReadString читает до следующего \n или до конца файла. Так что вам нужно написать файл так:

char tempstrTitle1[] = "xydcvf";
char eol[] = "\n";
char tempstrTitle2[] = "asdlk"

ar.WriteString(tempstrTitle1);
ar.WriteString(eol);
ar.WriteString(tempstrTitle2);

По второму вопросу:

const CFile* cfptr = ar.GetFile();

неправильно, потому что вы не можете многое сделать с помощью константного CFile-указателя. Вам просто нужно сбросить const:

CFile* cfptr = ar.GetFile();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...