讀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();