niusouti.com
参考答案和解析
#INCLUDE <STDIO.H>#INCLUDE <STDLIB.H>#INCLUDE <UNISTD.H>#INCLUDE <FCNTL.H>#INCLUDE <STRING.H>INT MAIN(){ INT FD = 0; //路径中的目录若不存在将导致文件创建失败 CHAR FILENAME[20] = "/HOME/ITHEIMA/A.TXT"; //打开文件 FD = OPEN(FILENAME, O_RDWR | O_EXCL | O_TRUNC, S_IRWXG); IF (FD == -1){ //判断文件是否成功打开 PERROR("FILE OPEN ERROR.N"); EXIT(-1); } //写数据 INT LEN = 0; CHAR BUF[100] = { 0 }; SCANF("%S", BUF); LEN = STRLEN(BUF); WRITE(FD, BUF, LEN); CLOSE(FD); //关闭文件 PRINTF("---------------------N"); //读取文件 FD = OPEN(FILENAME, O_RDONLY); //再次打开文件 IF (FD == -1){ PERROR("FILE OPEN ERROR.N"); EXIT(-1); } OFF_T F_SIZE = 0; F_SIZE = LSEEK(FD, 0, SEEK_END); //获取文件长度 LSEEK(FD, 0, SEEK_SET); //设置文件读写位置 WHILE (LSEEK(FD, 0, SEEK_CUR) != F_SIZE) //读取文件 { READ(FD, BUF, 1024); PRINTF("%SN", BUF); } CLOSE(FD); RETURN 0;}
更多“使用open()函数以'w'模式打开文件进行写入操作时,如果原文件中有内容,则会被新写入的内容覆盖掉”相关问题
  • 第1题:

    对文件进行写入操作之后,_______________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。


    正确答案:flush()

  • 第2题:

    当用( )方式打开文件时,如果对文件进行写操作,则写入的数据附加到原文件的后面。

    A. Output

    B. Append

    C. Input

    D. Random


    正确答案:B
    B)    【解析】本题考查文件的打开方式。以追加的方式打开文件时,每次写入的记录存放在文件的末尾。

  • 第3题:

    当用( )方式打开文件时,如果对文件进行写操作,则写入的数据附加到原文件的后面。A.OutputSXB

    当用( )方式打开文件时,如果对文件进行写操作,则写入的数据附加到原文件的后面。

    A.Output

    B.Append

    C.Input

    D.Random


    正确答案:B
    B)【解析】本题考查文件的打开方式。以追加的方式打开文件时,每次写入的记录存放在文件的末尾。

  • 第4题:

    open函数中哪种文件读取模式只用于写入()

    • A、r
    • B、rb
    • C、w
    • D、a

    正确答案:C

  • 第5题:

    下列选项中,关于文件打开模式的说法错误的是()。

    • A、“r”表示以只读方式打开文件,并将文件指针指向文件头。
    • B、“w”表示以写入方式打开文件,并将文件指针指向文件尾。
    • C、“a”表示以追加方式打开文件,并将文件指针指向文件尾。
    • D、“x”表示创建并以写入方式打开,并将文件指针指向文件头。

    正确答案:B

  • 第6题:

    ()是用电容来存储写入的内容,由于电容要放电,为了维持写入的内容不变,必须对它进行重复的读出和写入操作,即要有刷新电路配合使用

    • A、静态RAM
    • B、动态RAM
    • C、静态ROM
    • D、静态ROM

    正确答案:B

  • 第7题:

    使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。


    正确答案:错误

  • 第8题:

    Open语句中,关键字For用于指定打开文件的方式,下列说法错误的是()。

    • A、For Input指顺序打开文件,只能读取文件内容。
    • B、For Output指顺序打开文件,向文件写入内容。
    • C、For Append指顺序打开文件,向文件写入内容,与For Output不同的是,它覆盖原有的内容。
    • D、For Binary指以二进制方式打开文件。

    正确答案:C

  • 第9题:

    单选题
    假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?()
    A

    ’r’

    B

    ’w’

    C

    ’a’

    D

    ’w+’


    正确答案: C
    解析: 暂无解析

  • 第10题:

    单选题
    下面对语句的功能说明中错误的是(  )。Open Text.Dat For Output As # FreeFile
    A

    以顺序输出模式打开文件Text.Dat

    B

    如果文件Text.Dat不存在,则建立一个新文件

    C

    如果文件Text.Dat已存在,则打开该文件,新写入的数据将增添到该文件中

    D

    如果文件Text.Dat已存在,则打开该文件,新写入的数据将覆盖原有的数据


    正确答案: A
    解析:
    Output定为顺序输出模式。如果文件Text.Dat不存在,则建立一个新文件,可以将数据写入文件中。如果文件Text.Dat已存在,则该语句打开已存在的文件,新写入的数据将覆盖原来的数据,而不是添加。

  • 第11题:

    填空题
    对文件进行写入操作之后,()方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。

    正确答案: flush()
    解析: 暂无解析

  • 第12题:

    单选题
    open函数中哪种文件读取模式只用于写入()
    A

    r

    B

    rb

    C

    w

    D

    a


    正确答案: C
    解析: 暂无解析

  • 第13题:

    file=open('users/yourname/desktop/file','w')file.write('helloworld!')这句代码的作用是()。

    A.打开一个文件,不管文件在不在

    B.打开文件并写入

    C.在桌面上打开一个文件(路径得看个人具体情况),w的意思是,如果有则在文件里写入helloworld,如果没有则创建一个文件。

    D.打开文件,没有报错


    参考答案:C

  • 第14题:

    若以“w+”方式打开一个已存在的文件,则以下叙述正确的是______。

    A.文件打开时,原文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

    B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作写和读操作

    C.文件打开时,原有文件内容被删除,只可作写操作

    D.以上各种说法皆不正确


    正确答案:B

  • 第15题:

    下面哪一个是以添加(追加)模式打开文件做写入操作?

    A:f.open("f","r")

    B:f.open("f","w")

    C:f.open("f","a")

    D:f.open("f","w+")


    正确答案:C

  • 第16题:

    下面对语句Open“text.Dat”for Output As #FreeFile的功能说明中错误的是()

    • A、以顺序输出模式打开文件Text.Dat
    • B、如果文件Text.Dat不存在则建立一个新文件
    • C、如果文件Text.Dat已存在,则打开该文件,新写入的数据将增添到该文件中
    • D、如果文件Text.Dat已存在,则打开该文件,新写入的数据将覆盖原有的数据

    正确答案:C

  • 第17题:

    使用文件系统时,通常要显式地进行open( )操作,这样做的目的是()。

    • A、将文件控制块(FCB)读入内存
    • B、将文件控制块(FCB)写入磁盘或缓存
    • C、将文件内容读入内存
    • D、将文件内容写入磁盘或缓存

    正确答案:A

  • 第18题:

    假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?()

    • A、’r’
    • B、’w’
    • C、’a’
    • D、’w+’

    正确答案:A

  • 第19题:

    下面对语句 Open "Rizhi.dat" For Output As #1的功能描述错误的是()

    • A、以顺序输出模式打开文件"Rizhi.dat"
    • B、如果文件"Rizhi.dat"不存在,则建立一个新文件
    • C、如果文件"Rizhi.dat"已存在,则打开该文件,新写入的的数据将添加到文件末尾
    • D、如果文件"Rizhi.dat"已存在,则打开该文件,新写入的的数据将覆盖原来的数据

    正确答案:C

  • 第20题:

    下列说法错误的是()。

    • A、当用Write#语句写顺序文件时,文件必须以Output或Append方式打开
    • B、用Open语句打开一个文件时,对同一个文件可以用几个不同的文件号打开
    • C、用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件
    • D、用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面

    正确答案:B

  • 第21题:

    单选题
    下面对语句 Open "Rizhi.dat" For Output As #1的功能描述错误的是()
    A

    以顺序输出模式打开文件Rizhi.dat

    B

    如果文件Rizhi.dat不存在,则建立一个新文件

    C

    如果文件Rizhi.dat已存在,则打开该文件,新写入的的数据将添加到文件末尾

    D

    如果文件Rizhi.dat已存在,则打开该文件,新写入的的数据将覆盖原来的数据


    正确答案: D
    解析: 暂无解析

  • 第22题:

    单选题
    Open语句中,关键字For用于指定打开文件的方式,下列说法错误的是()。
    A

    For Input指顺序打开文件,只能读取文件内容。

    B

    For Output指顺序打开文件,向文件写入内容。

    C

    For Append指顺序打开文件,向文件写入内容,与For Output不同的是,它覆盖原有的内容。

    D

    For Binary指以二进制方式打开文件。


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    下列选项中,关于文件打开模式的说法错误的是()。
    A

    “r”表示以只读方式打开文件,并将文件指针指向文件头。

    B

    “w”表示以写入方式打开文件,并将文件指针指向文件尾。

    C

    “a”表示以追加方式打开文件,并将文件指针指向文件尾。

    D

    “x”表示创建并以写入方式打开,并将文件指针指向文件头。


    正确答案: A
    解析: 暂无解析

  • 第24题:

    单选题
    有以下程序段: FILE *fp; if((fp=fopen(test.txt,w))==NULL) {  printf(不能打开文件!);  exit(0); } else  printf(成功打开文件!); 若文件test.txt已存在,则以下叙述正确的是(  )。
    A

    程序运行后,文件test.txt中的原有内容将全部消失

    B

    程序运行时,会因文件存在而出错

    C

    对文件test.txt进行写操作后,可以随机进行读取

    D

    对文件test.txt写入的内容总是被添加到文件尾部


    正确答案: A
    解析:
    fopen函数以一定方式打开指定文件,返回一个指向文件的文件指针,如果不能实现打开指定文件的操作,则返回一个空指针NULL。如果指定文件不存在,则创建一个文件名为指定文件名的新文件,然后打开它。在指定文件有错误或者指定文件不存在却不能创建新文件的情况下,打开文件操作错误,返回空指针。本题程序中,文件test.txt已存在,以“w”方式打开文件时,文件test.txt中的原有内容将全部消失,A选项正确。文件原本就存在,不会导致程序出错,会按照指定的方式打开文件,B选项错误。对文件进行写操作,只能对指针指向的位置内容进行写操作,不能随机读写,C选项错误。对文件test.txt写入的内容写到指针所指向的位置,而不是添加在文件尾部,D选项错误。答案选择A选项。