当顺利执行了文件关闭|运行bat文件后如何让cmd窗口自动关闭

『壹』 fwite函数具体怎么用(想读取二进制文件并写入一个数组)

// for_testing_C.cpp : 定义控制台应用程序的入口点。//山物#include "stdafx.h"//屏蔽4996警告:××被声明为否决的。不建议使用这个屏蔽,而建议使用**_s#pragma warning(disable: 4996)#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;#ifdef _UNICODE #undef _UNICODE #endif //unicode也不太理解。为了测试_TCHAR用的#ifdef _UNICODE int _tmain(int argc, _TCHAR* argv[]){ printf("UNICODE"); return 0;}#elsevoid *function(char *a){ return a;}int _tmain(int argc, _TCHAR* argv[]){ FILE *fp;//定义FILE类型的指针 //文件的打开,fopen("a.txt","w/r/a/wb/rb/ab/r+/w+/a+/rb+/wb+/ab+"); //用W方式打开的文件只能用于向文件写数据,不能用来向计算机输入。而且写文件时,文件指针必须在开头 //文件以什么方式打开,以后所有的写入都以此方式写入,例如:一个以w打开的文件,写入一些字符后,调用rewind()后,在此写入也是把原先的覆盖了 //一个以a打开的文件,写入一些字符后,调用了rewind()后,在写入还是在文件的后面加入字符,而不是在开头写入字符 //文件在打开一次是不应又读又逗散液写,应该读完了,关闭文件然后在打开文件,在写文件,在关闭文件 if((fp=fopen("a.txt","w+"))==NULL){//判断a.txt文件是否打开正常 printf("can not open a.txt!"); exit(1); } //这里有错误,不知道怎么写:怎么输入argv[0] if(2!=argc){//判断参数是否为2 printf("%s",argv[0]); fprintf(fp,"Usage:%s source-file",argv[0]); fclose(fp); exit(1); } char *p; p=(char *)function("hello");//强制把void类型转换为char*型 //fputc把一个字符写到磁盘文掘皮件上去。成功返回输出的字符;失败返回EOF //在stdio.h文件中有#define putchar(c) fputc(c,stdout)。stdout是系统定义的文件指针变量,它与终端输出相连 fputc('w',fp); fputc('o',fp); fputc('r',fp); fputc('l',fp); fputc('d',fp); //fgetc()从指定的文件读入一个字符,该文件必须是以读或读写方式打开的 //从指定的文件读入一个字符,遇到文件结束符,返回文件结束标志EOF(-1):仅适用于读文本文件 //判断文件结束可以用:feof(fp),文件结束返回1,否返回0 char ch; //得到流式文件中的当前位置,用相对于文件开头的位移量来表示。如果ftell()函数返回值为-1L,表示出错 int tell=ftell(fp); rewind(fp);//如果不用这个就会出错误,可能读出来的值不是-1,而出现死循环 tell=ftell(fp); while(!feof(fp)){ ch=fgetc(fp); tell=ftell(fp); putchar(ch); } //while(ch!=EOF){ // putchar(ch); // ch=fgetc(fp); //} //rewind()使位置指针重新返回文件的开头 rewind(fp); //fputs()是向指定的文件输出一个字符串 //fgets(str,n,fp)从指定的文件读入一个字符串,n为要求得到的字符,但从fp指向的文件输入n-1个字符, //然后在最后加一个'\0'字符,因此得到的字符串共n个字符,把他们放在字符数组str中。 //如果在读完n-1个字符之前遇到换行符或EOF,读入结束。 if((fputs(p,fp))==EOF){ exit(1); }; rewind(fp); putchar(fgetc(fp)); rewind(fp); fputc(49,fp); fputc('',fp); fprintf(fp,"%10d",1986); int i=0; rewind(fp); fscanf_s(fp,"%c",&i); fclose(fp);//打开的文件必须关闭,可以避免数据丢失,因为是缓冲文件系统。顺利地执行关闭操作,返回0,否则返回EOF(-1) //图片,必须以rb打开 fp=fopen("aa.jpg","rb"); FILE *fp1=fopen("b.jpg","wb"); char find; while(!feof(fp)){ find=fgetc(fp); fputc(find,fp1); } fclose(fp); fclose(fp1);//测试fread和fwrite,必须以二进制打开 fp=fopen("ac.txt","ab+"); struct student_type{ char name[10]; int num; int age; char addr[30]; } stud={"xuyifu",1001,19,"room"}; struct student_type stud1; fwrite(&stud,sizeof(struct student_type),1,fp); rewind(fp); fread(&stud1,sizeof(struct student_type),1,fp); fclose(fp); //这个实验证明:fread读一个字节放在f[0]的低字节上,在读一个放在高字节上 fp=fopen("a1.txt","ab+"); short int f[2]; fread(f,2,2,fp); rewind(fp); fwrite(f,2,2,fp); printf("%d",f[0]); fclose(fp); return 0;}#endif//待解决问题://图片文件打开的方式是什么? //wb和w的区别仅是吗? //文本文件和二进制文件读写的区别是什么? //exit(0/1)的区别是,为什么用它?//argv[0]怎么打印出传来的参数//rewind()用法//fread()fwrite()fseek()ferror()

『贰』 C语言最文件操作函数(2)

14.freopen(打开文件)

相关函数 fopen,fclose

表头文件 #include<stdio.h>

定义函数 FILE * freopen(const char * path,const char * mode,FILE * stream);

函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode请参考fopen()说明。参数stream为已打开的文件指针。Freopen()会将原stream所打开的文件流关闭,然后打开参数path的文件。

返回值 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

范例

复制代码代码如下:

#include<stdio.h>

main()

{

FILE * fp;

fp=fopen(“/etc/passwd”,”r”);

fp=freopen(“/etc/group”,”r”,fp);

fclose(fp);

}

15.fseek(移动文件流的读写位置)

相关函数 rewind,ftell,fgetpos,fsetpos,lseek

表头文件 #include<stdio.h>

定义函数 int fseek(FILE * stream,long offset,int whence);

函数说明 fseek()用来移动文件流的读写滑迟位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动读写位置的位移数。

参数 whence为下列其中一种:

SEEK_SET从距文件开头offset位移量为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。

SEEK_END将读写位置指向文件尾后再增加offset个位移量。

当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。

下列是较特别的使用方式:

1) 欲将读写位置信启李移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);

2) 欲将读写旁纳位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);

返回值 当调用成功时则返回0,若有错误则返回-1,errno会存放错误代码。

附加说明 fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置。

范例

复制代码代码如下:

#include<stdio.h>

main()

{

FILE * stream;

long offset;

fpos_t pos;

stream=fopen(“/etc/passwd”,”r”);

fseek(stream,5,SEEK_SET);

printf(“offset=%d/n”,ftell(stream));

rewind(stream);

fgetpos(stream,&pos);

printf(“offset=%d/n”,pos);

pos=10;

fsetpos(stream,&pos);

printf(“offset = %d/n”,ftell(stream));

fclose(stream);

}

执行 offset = 5

offset =0

offset=10

16.ftell(取得文件流的读取位置)

相关函数 fseek,rewind,fgetpos,fsetpos

表头文件 #include<stdio.h>

定义函数 long ftell(FILE * stream);

函数说明 ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。

返回值 当调用成功时则返回目前的读写位置,若有错误则返回-1,errno会存放错误代码。

错误代码 EBADF 参数stream无效或可移动读写位置的文件流。

范例 参考fseek()。

17.fwrite(将数据写至文件流)

相关函数 fopen,fread,fseek,fscanf

表头文件 #include<stdio.h>

定义函数 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明 fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

返回值 返回实际写入的nmemb数目。

范例

复制代码代码如下:

#include<stdio.h>

#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}

#define nmemb 3

struct test

{

char name[20];

int size;

}s[nmemb];

main()

{

FILE * stream;

set_s(0,”Linux!”);

set_s(1,”FreeBSD!”);

set_s(2,”Windows2000.”);

stream=fopen(“/tmp/fwrite”,”w”);

fwrite(s,sizeof(struct test),nmemb,stream);

fclose(stream);

}

执行 参考fread()。

18.getc(由文件中读取一个字符)

相关函数 read,fopen,fread,fgetc

表头文件 #include<stdio.h>

定义函数 int getc(FILE * stream);

函数说明 getc()用来从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。虽然getc()与fgetc()作用相同,但getc()为宏定义,非真正的函数调用。

返回值 getc()会返回读取到的字符,若返回EOF则表示到了文件尾。

范例 参考fgetc()。

19.getchar(由标准输入设备内读进一字符)

相关函数 fopen,fread,fscanf,getc

表头文件 #include<stdio.h>

定义函数 int getchar(void);

函数说明 getchar()用来从标准输入设备中读取一个字符。然后将该字符从unsigned char转换成int后返回。

返回值 getchar()会返回读取到的字符,若返回EOF则表示有错误发生。

附加说明 getchar()非真正函数,而是getc(stdin)宏定义。

范例

复制代码代码如下:

#include<stdio.h>

main()

{

FILE * fp;

int c,i;

for(i=0li<5;i++)

{

c=getchar();

putchar(c);

}

}

执行 1234 /*输入*/

1234 /*输出*/

20.gets(由标准输入设备内读进一字符串)

相关函数 fopen,fread,fscanf,fgets

表头文件 #include<stdio.h>

定义函数 char * gets(char *s);

函数说明 gets()用来从标准设备读入字符并存到参数s所指的内存空间,直到出现换行字符或读到文件尾为止,最后加上NULL作为字符串结束。

返回值 gets()若成功则返回s指针,返回NULL则表示有错误发生。

附加说明 由于gets()无法知道字符串s的大小,必须遇到换行字符或文件尾才会结束输入,因此容易造成缓冲溢出的安全性问题。建议使用fgets()取代。

范例 参考fgets()

21.mktemp(产生唯一的临时文件名)

相关函数 tmpfile

表头文件 #include<stdlib.h>

定义函数 char * mktemp(char * template);

函数说明 mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。

返回值 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

附加说明 参数template所指的文件名称字符串必须声明为数组,如:

char template[ ]=”template-XXXXXX”;

不可用char * template=”template-XXXXXX”;

范例

复制代码代码如下:

#include<stdlib.h>

main()

{

char template[ ]=”template-XXXXXX”;

mktemp(template);

printf(“template=%s/n”,template);

}

22.putc(将一指定字符写入文件中)

相关函数 fopen,fwrite,fscanf,fputc

表头文件 #include<stdio.h>

定义函数 int putc(int c,FILE * stream);

函数说明 putc()会将参数c转为unsigned char后写入参数stream指定的文件中。虽然putc()与fputc()作用相同,但putc()为宏定义,非真正的函数调用。

返回值 putc()会返回写入成功的字符,即参数c。若返回EOF则代表写入失败。

范例 参考fputc()。

23.putchar(将指定的字符写到标准输出设备)

相关函数 fopen,fwrite,fscanf,fputc

表头文件 #include<stdio.h>

定义函数 int putchar (int c);

函数说明 putchar()用来将参数c字符写到标准输出设备。

返回值 putchar()会返回输出成功的字符,即参数c。若返回EOF则代表输出失败。

附加说明 putchar()非真正函数,而是putc(c,stdout)宏定义。

范例 参考getchar()。

24.rewind(重设文件流的读写位置为文件开头)

相关函数 fseek,ftell,fgetpos,fsetpos

表头文件 #include<stdio.h>

定义函数 void rewind(FILE * stream);

函数说明 rewind()用来把文件流的读写位置移至文件开头。参数stream为已打开的文件指针。此函数相当于调用fseek(stream,0,SEEK_SET)。

返回值

范例 参考fseek()

25.setbuf(设置文件流的缓冲区)

相关函数 setbuffer,setlinebuf,setvbuf

表头文件 #include<stdio.h>

定义函数 void setbuf(FILE * stream,char * buf);

函数说明 在打开文件流后,读取内容之前,调用setbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址。如果参数buf为NULL指针,则为无缓冲IO。Setbuf()相当于调用:setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)

返回值

26.setbuffer(设置文件流的缓冲区)

相关函数 setlinebuf,setbuf,setvbuf

表头文件 #include<stdio.h>

定义函数 void setbuffer(FILE * stream,char * buf,size_t size);

函数说明 在打开文件流后,读取内容之前,调用setbuffer()可用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址,参数size为缓冲区大小。

返回值

27.setlinebuf(设置文件流为线性缓冲区)

相关函数 setbuffer,setbuf,setvbuf

表头文件 #include<stdio.h>

定义函数 void setlinebuf(FILE * stream);

函数说明 setlinebuf()用来设置文件流以换行为依据的无缓冲IO。相当于调用:setvbuf(stream,(char * )NULL,_IOLBF,0);请参考setvbuf()。

返回值

28.setvbuf(设置文件流的缓冲区)

相关函数 setbuffer,setlinebuf,setbuf

表头文件 #include<stdio.h>

定义函数 int setvbuf(FILE * stream,char * buf,int mode,size_t size);

函数说明 在打开文件流后,读取内容之前,调用setvbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址,参数size为缓冲区大小,参数mode有下列几种

_IONBF 无缓冲IO

_IOLBF 以换行为依据的无缓冲IO

_IOFBF 完全无缓冲IO。如果参数buf为NULL指针,则为无缓冲IO。

返回值

29.ungetc(将指定字符写回文件流中)

相关函数 fputc,getchar,getc

表头文件 #include<stdio.h>

定义函数 int ungetc(int c,FILE * stream);

函数说明 ungetc()将参数c字符写回参数stream所指定的文件流。这个写回的字符会由下一个读取文件流的函数取得。

返回值 成功则返回c 字符,若有错误则返回EOF。

复制代码代码如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fp = NULL;

char* str;

char re;

int num = 10;

str = (char*)malloc(100);

//snprintf(str, 10,"test: %s", "0123456789012345678");

// printf("str=%s", str);

fp = fopen("/local/test.c","a+");

if (fp==NULL){

printf("Fail to open file");

}

// fseek(fp,-1,SEEK_END);

num = ftell(fp);

printf("test file long:%d",num);

fscanf(fp,"%s",str);

printf("str = %s",str);

printf("test a: %s",str);

while ((re=getc(fp))!=EOF){//getc可以用作fgetc用

printf("%c",re);

}

//fread(str,10,10,fp);

fgets(str,100,fp);

printf("test a: %s",str);

sprintf(str,"xiewei test is:%s", "ABCDEFGHIGKMNI");

printf("str2=%s", str);

// fprintf(fp,"%s",str);

fwrite(str,2,10,fp);

num = ftell(fp);

if(str!=NULL){

free(str);

}

fclose(fp);

return 0;

}

『叁』 运行bat文件后如何让cmd窗口自动关闭

运行bat批处理方式不同,处理也不同。

一、在资源管理器中,双击bat文件方法运行批处理

1、这种方式,默认是运行完自动关闭cmd窗口。

2、需要运行完批处理,然后停留在cmd窗口,可以在命令结尾加:pause,这样运行结束会停留在CMD窗口,可以按任意键或者点击CMD关闭按钮来关闭窗口。

二、先打开CMD窗口,再输入bat文件名来运行批处理

这种方式批处理运行结束后,仍然停留在cmd窗口。如果需要自动关闭,可以在命令结尾添加‘exit’命令。

『肆』 word2016中执行文件菜单中的关闭命令,将

word2016中执行文件菜单中凳春的关闭命令,将关闭当前文档窗口。标亩银题栏上的“关闭”按钮的作用是关闭当前编辑的文件并且退出迅粗宴Word,而菜单栏上的“关闭”按钮就只是关闭当前文档,而不退出Word了。

『伍』 PowerPoint中,执行【文件】菜单的【关闭】命令,则()。

B、关闭正在编辑的演示文稿 B、“图表效果” A、【幻灯片放映】菜单中的【预设动画】命令

『陆』 mpbin这个可执行文件怎么一运行就关闭了呢

从命令行运行。

『柒』 如何玩转PS打开与关闭命令 有哪些技巧

PS是一个平面设计软件,作为一个初级的小白我们要怎么玩转打开与关闭命令呢?下面我们跟着以下图文步骤,学习下操作的方法技巧。

工具/材料

Photoshop

一、打开文档

一般我们在刚打开软件时,如需要打开文档时,可双击工作区中间空白区域,快速打开新文档。

当然我们还可以执行:“文件>新建”命令,也可以打开新的文档。

注:快捷键打开方式为:Crtl+O

我们在弹出的打开窗口,可以通过输入路径方式快速定位到素材存放位置。

选择文件的类型为:JPEG,排除不需要的格式文件。

当我们需要选择多个连续文件时,可选择需要连续选择的第一个文件,移动鼠标指针到连选的最后一个文件,按住Shift键,单击鼠标即可连续选择文件。

如果你需要选择的多个文件是间隔开的,可以按住Crtl键,依次点选所有需要选择的文件。

单击右下角的打开命令,将当前所有文件打开。

二、关闭文档

当我们不需要某个文档时,可以执行:“文件>关闭”,快速将其关闭。

注:高亮显示则是当前正在处理的文档

如果有很多的文档需要全部关闭,那么我们可以执行:“文件>关闭全部”命令,即可关闭所有打开的文档。

有时候我们需要打开上次未处理完的文档,此时可以执行:“文件>最近打开文件”命令,查找近期10个打开过的历史记录文件。

特别提示

关闭所有文档需要谨慎操作,以防止已处理的工作全部丢失。


赞 (0)