读txt文件

errno_t  fopen_s( FILE** pFile, const char *filename, const char *mode );
errno_t  _wfopen_s( FILE** pFile, const wchar_t *filename, const wchar_t *mode );
pFile  文件指针将接收到打开的文件指针指向的指针。
infilename  文件名。
inmode  允许的访问类型。
返回值:如果成功返回0,失败则返回相应的错误代码。
"r"   打开以进行读取。如果该文件不存在,或无法找到,fopen_s调用失败。
"w" 打开一个空文件以进行写入。如果该文件存在,其内容将被销毁。
"a"打开以进行写入 (追加) 而不将新数据写入文件之前删除的 EOF 标记文件的末尾。如果它不存在,则创建该文件。
"r+"将打开并读取和写入。 (该文件必须存在。
"w+"打开一个空的文件进行读写。如果该文件存在,其内容将被销毁。
"a+"将打开并读取文件和追加。追加操作包括删除 EOF 标记的新数据写入到文件并在编写完成后还原 EOF 标记之前。如果它不存在,则创建该文件。
通过打开文件时"a"或"a+"访问类型,所有写操作出现在文件的结尾。可通过使用定位文件指针fseek或rewind,但其始终移回至该文件的末尾之前任何写入,因此无法覆盖现有数据执行操作。
"a"模式下不会追加到该文件之前删除 EOF 标记。追加发生后,MS-DOS TYPE 命令仅显示最原始的 EOF 标记的数据和追加到文件中没有任何数据。"a+"模式不会追加到该文件之前删除的 EOF 标记。后追加,MS-DOS TYPE 命令在文件中显示所有数据。"a+"模式所需的追加到流文件,将终止通过使用 CTRL + Z EOF 标记。
当"r+","w+",或"a+"指定访问类型,允许读取和写入。 (就说是打开"更新"文件)。 但是,当从阅读切换到书写,输入的操作必须会遇到 EOF 标记。如果没有任何 EOF,则必须使用中间文件定位函数调用。文件定位函数是fsetpos,fseek,和rewind.从读数到写切换时,您必须使用中间调用fflush或文件定位函数。
除了上面的值中,下列字符可以包含在mode指定换行字符的转换模式:
t 以文本形式打开 (翻译) 模式。在此模式中,CTRL + Z 被解释为对输入文件结尾字符中。要读取/写入与打开的文件中"a+",fopen_s检查 CTRL + Z 结尾的文件并移除它,如果可能的话。这是因为使用fseek和ftell在结尾为 CTRL + Z,可能会导致文件移动fseek文件末尾附近的不当行为。
此外,在文本模式下,回车 – 换行组合被翻译成在输入时,一个换行符) 和换行符转换为回车 – 换行组合输出上。当 Unicode 流 i/o 函数操作文本模式 (默认值),源或目标流被认为是多字节字符的序列。因此,Unicode 流输入函数将多字节字符转换为宽字符 (如果通过调用mbtowc函数)。出于同样的原因,Unicode 流输出函数将宽字符转换为多字节字符 (如果通过调用wctomb函数)。
b打开二进制 (未翻译) 模式 ; 翻译涉及回车和换行字符不会显示。
如果t或b中没有给出mode,默认转换模式定义全局变量_fmode。如果t或b将作为参数,函数将失败并返回前缀NULL.
有关使用文本和二进制模式中 Unicode 和多字节流 i/o 的详细信息,请参阅文本和二进制模式文件 I/O和Unicode 文本和二进制模式中的流 I/O。
c启用提交标记关联的filename,以便文件缓冲区的内容将直接写入磁盘,如果任一fflush或_flushall调用。
n重置该提交标记关联的filename为"无约束" 这是默认设置。它还重写全局提交标志,如果链接您的程序使用 COMMODE.OBJ。全球提交标志默认设置是"无约束" 除非您显式链接您的程序使用 COMMODE。OBJ (请参阅链接选项)。
N指定的文件不由子进程继承。
S指定的缓存优化的但不是限于,顺序访问磁盘。
R指定的缓存优化的但不是限于,随机访问磁盘。
T指定临时文件。如有可能,它未被刷新到磁盘。
D指定临时文件。最后的文件指针被关闭时,它将被删除。
ccs=ENCODING  指定编码的字符集可用于此文件 (utf-8、 UTF-16LE 和 UNICODE)。离开这未指定是否希望 ANSI 编码。
有效的字符mode中使用的字符串fopen_s和_fdopen对应于oflag参数中使用_ 打开和_sopen。
#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();



c++中 vs 简单的对txt文件读写相关推荐

  1. 将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中

    package again;import java.io.*;/* 1.编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中,a.txt 文件中的单词 ...

  2. js读取服务器txt文件,ZK中使用JS读取客户端txt文件内容问题

    最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...

  3. python txt文件读写(追加、覆盖)

    python txt文件读写(追加.覆盖) 读取文件每一行 # 读取文件每一行 with open(r"C:\Users\xiahuadong\Desktop\数字人代码\文件行数.txt& ...

  4. python读取txt文件中的数字_python从txt文件读取数据

    (作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!) 1.读取TXT文件数据,并对其中部分数据进行划分.一部分作为训练集数据,一部分作为测试集数据 ...

  5. 使用RStudio中的read.table导入Txt文件出现列的数目比列的名字要多的问题

    将.txt文件导入到Rstudio中,出现如下错误: 解决方式: 先用JMP软件采用最佳推荐打开.txt文件,接着将JMP中的.txt文件另存为.csv文件. 再在RStudio中导入.csv文件,顺 ...

  6. python读取txt每行中分隔符内容_python 读txt文件,按‘,’分割每行数据操作

    python 读txt文件,按','分割每行数据操作,文件,字符串,目录,路径,列表 python 读txt文件,按','分割每行数据操作 易采站长站,站长之家为您整理了python 读txt文件,按 ...

  7. Ubuntu下如何将文件夹中图片索引写进txt文件中

    方法之一 sudo find dress/ -name *.jpg | cut -d '/' -f2-3 > train_dress.txt "find"后面跟的是当前文件下 ...

  8. 根据文件夹中的图片数据集生成.txt文件标签

    文章目录 前言 数据集格式 Python实现 注意事项 前言 深度学习中的与图片有关的任务,如图像识别,图像分类,目标检测,图像分割等,在准备图片数据集时,图片的序号和标签往往是由.txt文件获取的. ...

  9. C#在vs中吧数据流直接打印到txt文件

    string result1 = @"C:\Css.txt";//结果保存到using (StreamWriter sw = File.CreateText(result1))// ...

  10. 编程中python怎么读-python之文件读写

    本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...

最新文章

  1. 程序员神级跳槽攻略:什么时候该跳?做什么准备?到哪里找工作?
  2. Xamarin SimplerCursorAdapter 适配器(三)
  3. java 日志 生成器_自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程
  4. 链表题目总结(第一篇)
  5. 网络营销——网站权重并不是判断网站营销水平的唯一标准
  6. placeholder文字颜色与是否显示兼容性
  7. 前端学习(1298):gulp使用
  8. webinf目录下的没有什么_为什么你的减肥没有效果? 来看下这些习惯是否中招...
  9. 【NLP】毕设学习笔记(二)transformer
  10. H3C使用ping命令
  11. Unity SenseAR教程:人脸检测之放置脸部挂饰【含源码】
  12. 2020 有哪些不容错过的前端技术趋势? | 凌云时刻
  13. (附源码)基于PHP在线考试系统的设计与实现 毕业设计 032028
  14. 技术总监需要做些什么?
  15. vue-cli 安装 已经preset 配置的删除
  16. 计算反转录转座子插入时间二:提取成对LTRs序列
  17. android如何设置自适应大小的背景图片,如何调整背景图片大小以适应Android中的应用程序屏幕大小...
  18. 软件测试的正向思维,反向思维
  19. 不吹不黑,三年赶超阿里云,华为这次是认真的!
  20. $(this) 自己、兄弟姐妹、长辈、长辈的兄弟姐妹增加/删除class

热门文章

  1. C++容器与参数传递方式
  2. Agile PLM Create Item /BOM Dialog
  3. 项目中一些零碎化总结的
  4. springcloud gateway介绍
  5. python字符大小写字母转换用那个键_python字符串大小写如何转换
  6. python创建一个字典、其中值为1_从2个列表创建一个字典,其中一个作为键,另一个作为python中的值...
  7. docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
  8. python bt下载_【图片】分享一段功能非常简陋的python代码实现下载free种【pt吧】_百度贴吧...
  9. 【问题3】生产环境中的 redis 是怎么部署的?
  10. (11)Redis------分布式锁的实现方式之一(基于Springboot项目搭建)