当前位置:首页 » 操作系统 » linuxc文件读写

linuxc文件读写

发布时间: 2022-05-21 22:59:56

c语言如何读写 linux文本文件

Linux下C语言的文件(fputc,fgetc,fwrite,fread对文件读写操作)

//

fputc 向文件写入字符

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp;

char ch;

if((fp=fopen("test.txt","w"))==NULL)

{

printf("不能打开文件 ");

exit(0);

}

while ((ch=getchar())!=' ')

fputc( ch, fp );

fclose(fp);

}

-------------

小提示:

fp=fopen("test.txt","w") ,把"w"改为 "a" 可以创建文件并且追加写入内容

exit(0); 需要包含 stdlib.h 头文件,才能使用

//

fgetc 读取字符

#include <stdio.h>

#include <stdlib.h>

main( int argc, char *argv[] )

{

char ch;

FILE *fp;

int i;

if((fp=fopen(argv[1],"r"))==NULL)

{

printf("不能打开文件 ");

exit(0);

}

while ((ch=fgetc(fp))!=EOF)

putchar(ch);

fclose(fp);

}

文件结尾,通过判断 EOF

//

fwrite 的使用

使数组或结构体等类型可以进行一次性读写

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp1;

int i;

struct student{

char name[10];

int age;

float score[2];

char addr[15];

}stu;

if((fp1=fopen("test.txt","wb"))==NULL)

{

printf("不能打开文件");

exit(0);

}

printf("请输入信息,姓名 年龄 分数1 分数2 地址: ");

for( i=0;i<2;i++)

{

scanf("%s %d %f %f %s",stu.name,&stu.age,&stu.score[0],&stu.score[1], stu.addr);

fwrite(&stu,sizeof(stu),1,fp1);

}

fclose(fp1);

}

//

fread 的使用

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fp1;

int i;

struct student{

char name[10];

int age;

float score[2];

char addr[15];

}stu;

if((fp1=fopen("test.txt","rb"))==NULL)

{

printf("不能打开文件");

exit(0);

}

printf("读取文件的内容如下: ");

for (i=0;i<2;i++)

{

fread(&stu,sizeof(stu),1,fp1);

printf("%s %d %7.2f %7.2f %s ",stu.name,stu.age,stu.score[0],stu.score[1],stu.addr);

}

fclose(fp1);

}

//

fprintf , fscanf, putw , getw , rewind , fseek 函数

这些函数的话我就不演示了 ,

这些函数基本都一对来使用,例如 fputc 和 fgetc 一起来用.

Ⅱ Linux C 缓冲文件和非缓冲文件读写方式用法

1.用write, read, open等系统调用编写分别实现如下功能的程序(要求进行必要的出错检查):
(1)创建一个文件testfile.txt,文件内容从键盘输入;
(2)将testfile.txt的内容显示在屏幕上,并将testfile.txt的内容复制到一个新的文件file2.txt中。
实验代码:
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()

Ⅲ LINUX C语言写一个读写文件的程序,读取的话,要把文件内容显示出来,写的话,就是写进文件里面咯

#include<stdio.h>
#include<stdlib.h>

intmain()
{
FILE*pf=fopen("a.txt","r");
if(pf==NULL){
printf("opena.txtfilefailed! ");
exit(0);
}

FILE*pf2=fopen("b.txt","w");
if(pf2==NULL){
printf("openb.txtfilefailed! ");
fclose(pf);
exit(0);
}

charch;
while(!feof(pf)){
ch=fgetc(pf);
putchar(ch);
fputc(ch,pf2);
}

fclose(pf2);
fclose(pf);

return0;
}


Ⅳ linux 下c语言 对文件进行读写

1. asctime(local)函数,是将struct tm*类型的参数转换成字符串类型,这样,方便fprintf函数将时间按照字符串输出来

2. “w+"是从文件开始写入。所以,每次重写都会覆盖以前的时间。可以使用"a+",在文件后面追加。即,将fp=fopen("time.txt", "w+")改成fp=fopen("time.txt", "a+")

3.有一个网站,可以查找linux的系统api函数
http://linux.die.net/

Ⅳ linux怎么c语言读取普通文件内容

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2、例程:
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],b[100],c[100];
int i=3,j=4,k=0; //第三行,第四列
FILE *fp = fopen("data.txt","r");
while(fgets(c,100,fp)){ //读入每行数据
i--;
if(i==0) strcpy(a,c); //读到第三行数据
b[k++]=c[j-1]; //把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s\n",i,a);
printf("第%d列数据:%s\n",j,b);
fclose(fp);

Ⅵ 关于linux C的文件读写

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAX 1024

void lower1(char *p)
{
int i,len;
len = strlen(p);
for(i=0;i<len;i++)
if(p[i] >= 'A' && p[i] <= 'Z')
p[i] += 32;
}

int main(void)
{
FILE *fp,*fpw;
char *p;
char buf[MAX],buf1[MAX]="GAME OVER";
int n,m;
fp = fopen("txt","rw");
if(fp == NULL)
{
perror("Fail to open");
exit(1);
}

while((n = fread(buf,sizeof(char),MAX-1,fp)) > 0)
{
buf[n]='\0';
lower1(buf);
printf("%s",buf);
printf("%d",n);
}
rewind(fp);
while((n = fread(buf,sizeof(char),MAX-1,fp)) > 0) //你这里什么意思?你这里有问题
{
fputs(buf,fp);
}

if(n < 0){
perror("Fail to read");
exit(1);
}

fclose(fp);
return 0;
}

顺便,看样子你也知道,读写无法同时进行的,所以,你读万,一定要rewind一下

Ⅶ linux系统如何读写属性为c的文件

Linux把外部设备也当成文件来管理,这是继承了Unix一切皆文件的设计思想。
/dev目录下的文件皆外部设备,所以你必须有相应的内核模块来驱动相应的设备,否则此设备无法读写。
你是在测试COM口么?COM口有没有连接测试设备?没有的话,就算有相应的内核模块也是白搭的,就象光有电灯开关,没安装灯泡,你怎么按开关都白搭。

Ⅷ c语言如何读写 linux文本文件

你说的应该是FILE IO吧,建议自己学习下
http://wenku..com/view/6b921360ddccda38376bafb4.html
http://blog.csdn.net/hack_47/archive/2008/12/19/3556211.aspx
你直接搜索Linux file io就可以了
另外,Linux下有一些用于文本操作的工具,你不妨用脚本实现你的操作
祝好运

Ⅸ Linux编程,怎样用C语言创建、读、写文件呀希望各位赐教!谢谢

既然得到了这文件指针,你想怎么打开都行,无需知道以前是什么模式。
用open更新你想要的打开方式。
o_rdonly
以只读方式打开文件
o_wronly
以只写方式打开文件
o_rdwr
以可读写方式打开文件。上述三种旗标是互斥的,
也就是不可同时使用,
但可与下列的旗标利用or(|)运算符组合。
o_creat
若欲打开的文件不存在则自动建立该文件。
o_excl
如果o_creat
也被设置,
此指令会去检查文件是否存在。文件若不存在则建立该文件,
否则将导致打开文件错误。此外,
若o_creat与o_excl同时设置,
并且欲打开的文件为符号连接,
则会打开文件失败。
o_noctty
如果欲打开的文件为终端机设备时,
则不会将该终端机当成进程控制终端机。
o_trunc
若文件存在并且以可写的方式打开时,
此旗标会令文件长度清为0,
而原来存于该文件的资料也会消失。
o_append
当读写文件时会从文件尾开始移动,
也就是所写入的数据会以附加的方式加入到文件后面。
o_nonblock
以不可阻断的方式打开文件,
也就是无论有无数据读取或等待,
都会立即返回进程之中。
o_ndelay
同o_nonblock。
o_sync
以同步的方式打开文件。
o_nofollow
如果参数pathname
所指的文件为一符号连接,
则会令打开文件失败。
o_directory
如果参数pathname
所指的文件并非为一目录,
则会令打开文件失败。
这是你要的
r
打开只读文件,
该文件必须存在。
r+
打开可读写的文件,
该文件必须存在。
w
打开只写文件,
若文件存在则文件长度清为0,
即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,
若文件存在则文件长度清为零,
即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,
则会建立该文件,
如果文件存在,
写入的数据会被加到文件尾,
即文件原先的内容会被保留。
a+
以附加方式打开可读写的文件。若文件不存在,
则会建立该文件,
如果文件存在,
写入的数据会被加到文件尾后,
即文件原先的内容会被保留。

热点内容
破解qq空间访问权限2015 发布:2024-10-26 03:27:52 浏览:173
网页短信源码 发布:2024-10-26 03:25:32 浏览:167
android实现圆角 发布:2024-10-26 03:24:55 浏览:717
科雷服务器ip 发布:2024-10-26 03:24:42 浏览:872
linux找回删除文件 发布:2024-10-26 03:21:46 浏览:581
云服务器不能登录天猫后台 发布:2024-10-26 03:21:01 浏览:104
我的世界116起床服务器 发布:2024-10-26 03:19:35 浏览:72
modelsim脚本 发布:2024-10-26 02:58:09 浏览:174
饥荒开的服务器怎么开全图 发布:2024-10-26 02:55:23 浏览:403
我的世界服务器到上限内存了怎么办 发布:2024-10-26 02:55:23 浏览:787