當前位置:首頁 » 操作系統 » linuxc讀寫文件

linuxc讀寫文件

發布時間: 2022-06-27 18:25:27

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的文件

Linux把外部設備也當成文件來管理,這是繼承了Unix一切皆文件的設計思想。
/dev目錄下的文件皆外部設備,所以你必須有相應的內核模塊來驅動相應的設備,否則此設備無法讀寫。
你是在測試COM口么?COM口有沒有連接測試設備?沒有的話,就算有相應的內核模塊也是白搭的,就象光有電燈開關,沒安裝燈泡,你怎麼按開關都白搭。

❸ linux下如何用C程序讀寫本地文件

是一樣的。如果是同目錄則直接寫文件名,如果是不同的目錄,可以寫明路徑。

如:
讀同目錄文件local.txt
fopen("local.txt","r");

讀不同目錄文件 /home/yourname/otherdir/other.txt
fopen("/home/yourname/otherdir/other.txt","r");

你可以使用pwd命令來獲得文件路徑

❹ 我要用c編寫程序讀寫磁碟,在linux中磁碟為文件,怎樣用c語言獲取磁碟的文件描述符,然後對磁碟進行讀寫

linux下面的概念是一切皆文件。所以沒有像c盤d盤這樣的東西,有的只是各種各樣的文件夾和文件。要讀一個linux下面的文件很簡單,命令pwd可以得到當前路徑,然後路徑接上你打開的文件名就可以知道這個文件的詳細路徑了。直接open就可以了。

❺ 關於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 寫文件

這個問題其實是很復雜的。
C語言的字元集包含兩個,一個是源碼所處在的環境的字元集,一個是運行時環境的字元集。
我光是知道Java如何指定,但卻不知道C語言程序輸出的是什麼,除非蒙上,否則這是行不通的。試試使用gcc中的-finput-charset和-fexec-charset開關來指定字元集,確保輸入輸出一致

❼ linux系統下,文件存儲與數據讀寫問題(C語言)。

int writeFile(char *path,char *buf)
{
FILE *file;
file = fopen(path,"a");
if (file == NULL)
{
return -1;
}

fwrite(buf,strlen(buf),1,file);

if (file)
fclose(file);
return 0;
}

❽ 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語言讀取txt文件中的列數據

1.用fgets函數可以讀取文件中某行的數據,某列數據就必須一個一個讀入每行的第幾個字元,再存入到一個字元串當中。

2.常式:

#include<stdio.h>
#include<string.h>
voidmain()
{
chara[100],b[100],c[100];
inti=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 ",i,a);
printf("第%d列數據:%s ",j,b);
fclose(fp);
}

❿ linux下c語言 讀取文件內容

沒測試過,不過問題應該是fgetc這里
fgetc獲取到第一個字元,比如第一行的'#'號,然後fgets獲取到後面的字元,列印當然就沒有第一個字元了,解決方式要麼只用fgets,要麼把fgetc獲取的字元也列印出來

熱點內容
java比較三個數 發布:2024-11-15 15:08:39 瀏覽:835
fml加密 發布:2024-11-15 15:05:56 瀏覽:882
存儲上市龍頭 發布:2024-11-15 14:52:14 瀏覽:37
我的世界伺服器怎麼重置教學 發布:2024-11-15 14:52:13 瀏覽:122
C語言tf 發布:2024-11-15 14:36:22 瀏覽:810
違反密碼法是什麼意思 發布:2024-11-15 14:36:20 瀏覽:920
androidmp3錄音 發布:2024-11-15 14:32:50 瀏覽:493
英朗自動擋哪個配置最好 發布:2024-11-15 14:27:44 瀏覽:253
編譯原理斷言有哪幾種 發布:2024-11-15 14:25:29 瀏覽:200
資料庫數據重復 發布:2024-11-15 14:23:17 瀏覽:781