當前位置:首頁 » 操作系統 » 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+
以附加方式打開可讀寫的文件。若文件不存在,
則會建立該文件,
如果文件存在,
寫入的數據會被加到文件尾後,
即文件原先的內容會被保留。

熱點內容
下述關於資料庫系統的正確敘述是 發布:2024-10-26 05:27:13 瀏覽:443
我的世界國際服117伺服器ip 發布:2024-10-26 05:27:13 瀏覽:259
香港多ip伺服器租用 發布:2024-10-26 05:17:36 瀏覽:552
媽媽設置密碼是多少 發布:2024-10-26 05:15:45 瀏覽:516
溫州雲上傳媒 發布:2024-10-26 05:14:06 瀏覽:364
我的世界伺服器怎麼加光影電腦板 發布:2024-10-26 04:11:08 瀏覽:575
用綠寶石如何開伺服器 發布:2024-10-26 04:10:21 瀏覽:255
exe文件自解壓 發布:2024-10-26 04:03:48 瀏覽:734
使用ftp伺服器下載和上傳文件 發布:2024-10-26 03:52:55 瀏覽:816
純vc編譯器 發布:2024-10-26 03:40:59 瀏覽:250