用VC打开in.dat和out.dat文件的方法

合集下载

《C++程序设计》学习笔记总结 - 第八章 文件操作

《C++程序设计》学习笔记总结 - 第八章 文件操作

第八章文件操作一、文件基本概念和文件流类文件基本概念和文件流类从不同的角度来看待文件就可以得到不同的文件分类。

C++根据文件数据的编码方式不同分为文本文件和二进制文件。

根据存取方式不同分为顺序存取文件和随机存取文件所谓“文本文件”和“二进制文件”是从文件格式的角度进行分类,是约定俗成的、从计算机用户角度出发进行的分类。

所谓的“顺序存取文件”和“随机存取文件”是根据访问文件中数据的方式来划分的。

顺序存取文件就是按照文件中数据存储次序进行顺序操作,为访问第i 个数据,就首先要访问第i-1个数据,在整个文件操作过程中,将移动位置指针的工作交给系统自动完成。

磁带文件就是一个典型的顺序存取文件。

随机访问文件是根据应用的需要,通过命令移动位置指针直接定位到文件内需要的位置并进行数据操作。

对文件的基本操作分为读文件和写文件。

所谓“读文件”就是将文件中的数据读入内存之中,也称为“输入”。

所谓“写文件”就是将内存中的数据存入文件之中,也称为“输出”。

C++标准类库中有3个流类可以用于文件操作,这3个类统称为文件流类,分别如下:1)ifstream:用于从文件中读取数据。

2)ofstream:用于向文件中写入数据。

3)fstream:既可用于从文件中读取数据,又可用于向文件中写入数据。

使用这3个流类时,程序中需要包含fstream头文件。

类ifstream和类fstream都是从类istream派生而来的,因此类ifstream拥有类istream的全部成员函数。

同样,类ofstream和类fstream也拥有类ostream的全部成员函数。

这3个类中有一些十分熟悉的成员函数可以使用,如operator<<、operator>>、peek( )、ignore( )、getline( )、get( )等。

在程序中,要使用一个文件,必须包含3个基本步骤:打开(open)文件——操作文件——关闭(close)文件。

CXAX快捷键

CXAX快捷键

CAXA快捷键大全界面操作:编辑操作:显示操作:CAXA快捷键默认分类2008-07-03 11:32:49 阅读669 评论2 字号:大中小订阅CAXA2007命令、快捷键列表之快捷键快捷键功能Ctrl+A 选择所有Ctrl+B 显示/隐藏标准工具Ctrl+C,Ctrl+Ins 复制Ctrl+E 显示/隐藏属性工具Ctrl+I 显示/隐藏立即菜单Ctrl+M 显示/隐藏主菜单Ctrl+N 新文件Ctrl+O 打开文件Ctrl+P 绘图输出Ctrl+Q 属性查看Ctrl+S 存储文件Ctrl+T 显示/隐藏状态栏Ctrl+U 显示/隐藏常用工具Ctrl+V,Shift+Ins 粘贴Ctrl+W 在新窗口中打开文件Ctrl+X,Shift+Del 图形剪切Ctrl+Y 重复操作(redo) Ctrl+Z 取消操作(undo)Ctrl+1 显示隐藏绘图工具Ctrl+2 显示绘图工具ⅡCtrl+3 显示标注工具Ctrl+4 显示编辑工具Ctrl+5 显示块操作工具Ctrl+6 显示库操作工具Alt+X 退出Del 删除对象End 在输入框中用于将光标移至行尾。

F1 请求系统的帮助。

F2 拖画时切换动态拖动值和坐标值。

F3 显示全部。

F4 指定一个当前点作为参考点。

用于相对坐标点的输入。

F5 当前坐标系切换开关。

F6 点捕捉方式切换开关,它的功能是进行捕捉方式的切换。

F7 三视图导航开关。

F8 正交与非正交切换开关。

F9 全屏显示和窗口显示切换开关。

Home 在输入框中用于将光标移至行首,其他情况下用于显示复原。

PageDown 显示缩小PageUp 显示放大Shift+鼠标右键,鼠标滚轮动态缩放Shift+鼠标左键,鼠标中键动态平移方向键(↑↓→←)在输入框中用于移动光标的位置,其他情况下用于显示平移图形。

圆心_半径_起终角 acra 以圆心半径起终角的方式绘制圆弧圆心_起点_圆心角 acsa 通过圆心起点圆心角的方式绘制圆弧三点 appp 过三点画圆弧两点_半径 appr 以两点半径的方式绘制圆弧起点_终点_圆心角 asea 以起点终点圆心角的方式绘制圆弧。

组数据文件IN.DAT

组数据文件IN.DAT
{
cnt++; /*统计满足条件的数的个数*/
sum+=i; /*将满足条件的数求和*/
}
已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue( ),其功能是:求出这些4位数是素数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到OUT.DAT文件中。
计算方差的公式如下:
void Compute(void)
{
int i,tt[MAX]; /*定义数组tt计算总和*/
for(i=0;i<1000;i++)
if(xx[i]%2!=0) /*判断当前数的奇偶性*/
{
odd++; /*统计奇数的个数*/
a1=xx[i]%10; /*求正整数的个位数*/
if((a4+a3+a2+a1)%2==1)
{ /*如果各位数字之和是奇数*/ /*计算满足条件的数的个数totCnt和这些数的总和sum*/
totCnt++;
totPjz+=xx[i];
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}已知在文件IN.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求是:(1)求出这个文件中共有多少个正整数totNum。(2)求出这些数中的各位数字之和是奇数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz。最后调用函数WriteDat()把所有结果输出到文件OUT.DAT中。void CalValue()

c++文本文件打开读写的常用方法

c++文本文件打开读写的常用方法

c++文本文件打开读写的常用方法一、文本文件的打开1、使用C++中标准的文件输入和输出流操作文本文件<iostream>头文件提供标准文件输入输出流std::cin,std::cout,std::cerr,std::clog这些标准输入输出流是指C++语言中自带的几个文件输入输出流。

比如在程序中,若要从控制台读取输入:std::cin >> a;这条语句将从控制台(也就是键盘)获取输入,并将其输入存储在a中。

如果要从文件中读取数据,可以使用标准输入流std::ifstream 完成。

std::ifstream可以被用来从文件中读取输入。

具体实现方法如下:// step 1: include the input stream#include <fstream>// step 2: open filestd::ifstream infile('file.txt');// step 3: read input from fileint data;infile >> data;// step 4: close fileinfile.close();2、使用C++的平台独立文件输出流操作文本文件C++中有一套不依赖具体平台的文件输入输出流。

它们是std::fstream,std::ifstream和std::ofstream。

这三个类分别用来操作文件的输入流,输出流和读写流。

具体使用方法如下:// step 1: include the input/output stream#include <fstream>// step 2: open filestd::fstream f('file.txt', std::ios::in | std::ios::out); // step 3: read/write to filechar c;f.get(c);f.put(c);// step 4: close filef.close();二、文本文件的读取要将文本文件读入内存,程序需要打开文本文件,然后以块的形式从磁盘加载到内存。

vc文件读写使用

vc文件读写使用

CFile和CStdioFile的文件读写使用方法(2009-08-18 10:35:01)标签:杂谈CFile//创建/打开文件CFile file;file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeRead Write);文件打开模式可组合使用,用“|”隔开,常用的有以下几种:CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。

CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。

一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。

CFile::modeReadWrite:以读写方式打开文件。

CFile::modeRead:只读。

CFile::modeWrite:只写。

//写入数据CString strValue = "Hello World!";file.Write(strValue,strValue.GetLength());//追加数据file.SeekToEnd(); //将指针移至文件末尾进行追加file.Write(strValue,strValue.GetLength());//关闭文件file.Close();CStdioFileCStdioFile是CFile的派生类,对文件进行流式操作,对于文本文件的读写很有用处,可按行读取写入。

//写入数据CString strValue = "Hello World!";file.WriteString(strValue);//读取数据CString strRead;file.ReadString(strRead);当文件存在多行数据需要逐行读取时,可用函数BOOL CStdioFile::ReadString(CString& rString),当遇到"\n "时读取截断,如果文件未读完,返回true,否则返回false。

VC中调用外部程序方式总结

VC中调用外部程序方式总结

目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数)winexec,shellexecute ,createprocess》,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题)。

三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。

WinExec 两个参数,前一个指定路径,后一个指定显示方式。

ShellExecute 可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。

CreateProcess 一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。

如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。

三个SDK函数(WinExec、ShellExec、CrateProcess )的语法:(一)WinExec这个函数最简单,只有两个参数,原型如下:UINT WinExec(LPCSTR lpCmdLine, // 命令路径UINT uCmdShow // 显示方式);使用方法如下:WinExec("Notepad.exe", SW_SHOW); // 打开记事本WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe需要注意的是若用SW_SHOWMAXMIZED 方式去加载一个无最大化按钮的程序,譬如Neterm,Calc 等等,就不会出现正常的窗体,但是已经被加到任务列表里了。

C语言156道经典习题

C语言156道经典习题

第1题、函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序存在文件prog1.c中。

原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

第2题、函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。

请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置0 1 2 3 4 5 6 7 8源字符串 d c b a h g f e4 3 2 1 9 8 7 6 5则处理后字符串 h g f e a b c d8 7 6 5 9 1 2 3 4部分源程序存在文件prog1.c中。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

第3题、函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS8.DAT中。

C++读取INI文件

C++读取INI文件

C++读取INI⽂件VC++中 3 个主要写⼊/读取配置⽂件ini的函数:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);写⼊.ini⽂件;DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);读取.ini⽂件;UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);读取整形值。

其中个参数的意思:LPCTSTR lpAppName ------- INI⽂件中的⼀个字段名LPCTSTR lpKeyName ------- lpAppName 下的⼀个键名,也就是⾥⾯具体的变量名LPCTSTR lpString ------- 是键值,也就是变量的值,必须为LPCTSTR或CString类型LPCTSTR lpFileName ------- 完整的INI⽂件路径名LPCTSTR lpDefaut ------- 如果没有其前两个参数值,则将此值赋给变量LPSTR lpReturnedString ------- 接收INI⽂件中的值的CString对象,即接收缓冲区DWORD nSize ------- 接收缓冲区的⼤⼩例⼦:CString StrName,Strtemp;int nAge;StrName = "jacky";nAge = 13;WritePrivateProfileString("Student","Name",StrName,"c:\\setting.ini");结果:(INI⽂件中显⽰如下:)[Student]Name=jacky读取:CString SName;GetPrivateProfileString("Student","Name","DefaultName",SName.GetBuffer(MAX_LENGTH),MAX_LENGTH,"c:\\setting.ini");结果:SName = "jacky";这⾥需要注意点就是⽤完GetBuffer函数后⼀定要释放(⽤SName.ReleaseBuffer()函数),不然后⾯再⽤到SName的其他⼦函数就会失灵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档