读txt文件
#define F_PATH "C:\\Users\\徐图之\\Desktop\\11.txt"
FILE *fp; //fopen_s(&stream,"crt_fopen_s.c","r");
errno_t err;
err = fopen_s(&fp, F_PATH, "r"); //读取11.txt的文件
if (err==0)
{
std::cout << "读取" << "成功" << std::endl;
}
else
{
printf("读取文件失败 \n ");
exit(1);
}
while (!feof(fp))
{
printf("%c", fgetc(fp));//每次获取一个字符并打印
}
写入txt
FILE *fp; //fopen_s(&stream,"crt_fopen_s.c","r");
errno_t err;
err = fopen_s(&fp, F_PATH, "r+"); //读取11.txt的文件
if (err==0)
{
std::cout << "读取" << "成功" << std::endl;
}
else
{
printf("读取文件失败 \n ");
exit(1);
}
int i = 0;
char ch[] = "I'am input something ! \n I 'am here \tI'am here ! \rI'am here";
while (!feof(fp))
{
// printf("du");
printf("%c", fgetc(fp));//每次获取一个字符
}
while (ch[i++] != '\0')
{
fputc(ch[i], fp);
}
fclose(fp);
CFileDialog FileDlg(FALSE,TEXT(".txt"),NULL,OFN_PATHMUSTEXIST,TEXT("Text Files (*.txt)|*.txt||"),NULL);
if (IDOK == FileDlg.DoModal())
{
CFile file(FileDlg.GetFileName(),CFile::modeCreate|CFile::modeWrite);
CString str;
file.SeekToEnd();
str.Format(_T("BEGIN:\r\n"));
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
if (0 == m_ctrlTraverseMode.GetCurSel())//左下角开始捕捉
{
for (int i = 0; i < m_nDimension*m_nDimension; i++)
{
file.SeekToEnd();
str.Format(_T("圆 %d\r\n"),i+1);
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 X\t%f\r\n"),*(m_pMatch_x + i));
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 Y\t%f\r\n"),*(m_pMatch_y + i));
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
}
}
else if(1 == m_ctrlTraverseMode.GetCurSel())//右下角开始捕捉
{
for (int i = 0; i < m_nDimension*m_nDimension; i++)
{
file.SeekToEnd();
str.Format(_T("圆 %d\r\n"),i+1);
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 X\t%f\r\n"),(*(m_pMatch_y + i)));//x = y
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 Y\t%f\r\n"),-*(m_pMatch_x + i));//y = -x
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
}
}
else if(2 == m_ctrlTraverseMode.GetCurSel())//左上角开始捕捉
{
for (int i = 0; i < m_nDimension*m_nDimension; i++)
{
file.SeekToEnd();
str.Format(_T("圆 %d\r\n"),i+1);
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 X\t%f\r\n"),(-*(m_pMatch_y + i)));//x = -y
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 Y\t%f\r\n"),*(m_pMatch_x + i));//y = x
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
}
}
else if(3 == m_ctrlTraverseMode.GetCurSel())//右上角开始捕捉
{
for (int i = 0; i < m_nDimension*m_nDimension; i++)
{
file.SeekToEnd();
str.Format(_T("圆 %d\r\n"),i+1);
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 X\t%f\r\n"),(-*(m_pMatch_x + i)));//x = -x
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.SeekToEnd();
str.Format(_T("坐标 Y\t%f\r\n"),-*(m_pMatch_y + i));//y = -y
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
}
}
file.SeekToEnd();
str.Format(_T("END:\r\n"));
file.Write(str.GetBuffer(0),str.GetLength());
str.ReleaseBuffer();
file.Close();