Чтение из файла
void CTrassa3dDoc::Serialize(CArchive& ar)
{
char csDate[42];
char NewString[2];
if (ar.IsStoring())// пишем
{
sprintf(NewString,"%s","\n");
ar.Write(NewString,2);
for(int i=0;i<countUzel;i++)
{
sprintf(csDate,"%10s%10.2f%10.3f%10.3f",masUzel.Name,masUzel.otm,
masUzel.dX,masUzel.dY);
ar.Write(csDate,40);
ar.Write(NewString,2);
}
}
else // читаем
{
int i=0;
countUzel=0;
while(ar.ReadString(csDate,42))
{
csDate[41]=0;
masUzel.dY=atof(&csDate[31]);
csDate[31]=0;
masUzel.dX=atof(&csDate[21]);
csDate[21]=0;
masUzel.otm=atof(&csDate[11]);
csDate[11]=0;
strcpy(masUzel.Name,CString(&csDate[0])); // ТУТ ПРОБЛЕМА!!!
masUzel.diamKol=0.1;
masUzel.TIP=6;
masUzel.col[0]=0;
masUzel.col[1]=0.5;
masUzel.col[2]=0.5;
masUzel.sel=false;
countUzel++;
i++;
}
}
Спасибо.
Цитата:
Originally posted by Jeyson
strcpy(masUzel.Name,CString(&csDate[0])); // ТУТ ПРОБЛЕМА!!!
Спасибо.
strcpy(masUzel.Name,CString(&csDate[0])); // ТУТ ПРОБЛЕМА!!!
Спасибо.
Так в CString у тебя лужит не char, а TCHAR...
Попробуй так,
Код:
strcpy(masUzel.Name,csDate);
И вообще какой тип у masUzel.Name?
Цитата:
Originally posted by Jeyson
Доброго времени суток. Из текстового файла не могу прочитать текст. Числа читаются и преобразуются нормально, но с текстом проблема. Пробовал читать посимвольно, но в программе в дальнейшем текст не распознается. Запись в файл и чтение из файла прилагаю ниже.
void CTrassa3dDoc::Serialize(CArchive& ar)
{
char csDate[42];
char NewString[2];
if (ar.IsStoring())// пишем
{
sprintf(NewString,"%s","\n");
ar.Write(NewString,2);
for(int i=0;i<countUzel;i++)
{
sprintf(csDate,"%10s%10.2f%10.3f%10.3f",masUzel.Name,masUzel.otm,
masUzel.dX,masUzel.dY);
ar.Write(csDate,40);
ar.Write(NewString,2);
}
}
else // читаем
{
int i=0;
countUzel=0;
while(ar.ReadString(csDate,42))
{
csDate[41]=0;
masUzel.dY=atof(&csDate[31]);
csDate[31]=0;
masUzel.dX=atof(&csDate[21]);
csDate[21]=0;
masUzel.otm=atof(&csDate[11]);
csDate[11]=0;
strcpy(masUzel.Name,CString(&csDate[0])); // ТУТ ПРОБЛЕМА!!!
masUzel.diamKol=0.1;
masUzel.TIP=6;
masUzel.col[0]=0;
masUzel.col[1]=0.5;
masUzel.col[2]=0.5;
masUzel.sel=false;
countUzel++;
i++;
}
}
Спасибо.
Доброго времени суток. Из текстового файла не могу прочитать текст. Числа читаются и преобразуются нормально, но с текстом проблема. Пробовал читать посимвольно, но в программе в дальнейшем текст не распознается. Запись в файл и чтение из файла прилагаю ниже.
void CTrassa3dDoc::Serialize(CArchive& ar)
{
char csDate[42];
char NewString[2];
if (ar.IsStoring())// пишем
{
sprintf(NewString,"%s","\n");
ar.Write(NewString,2);
for(int i=0;i<countUzel;i++)
{
sprintf(csDate,"%10s%10.2f%10.3f%10.3f",masUzel.Name,masUzel.otm,
masUzel.dX,masUzel.dY);
ar.Write(csDate,40);
ar.Write(NewString,2);
}
}
else // читаем
{
int i=0;
countUzel=0;
while(ar.ReadString(csDate,42))
{
csDate[41]=0;
masUzel.dY=atof(&csDate[31]);
csDate[31]=0;
masUzel.dX=atof(&csDate[21]);
csDate[21]=0;
masUzel.otm=atof(&csDate[11]);
csDate[11]=0;
strcpy(masUzel.Name,CString(&csDate[0])); // ТУТ ПРОБЛЕМА!!!
masUzel.diamKol=0.1;
masUzel.TIP=6;
masUzel.col[0]=0;
masUzel.col[1]=0.5;
masUzel.col[2]=0.5;
masUzel.sel=false;
countUzel++;
i++;
}
}
Спасибо.
Попробуй использовать потоки (fstream) и будешь удивлен на сколько упроститься код.