導航:首頁 > 文件教程 > linuxfprintf頭文件

linuxfprintf頭文件

發布時間:2024-03-12 23:46:30

⑴ c語言用fopen時,需要加特殊的 頭文件

使用fopen時,只需將頭文件#include<stdio.h>添加進源文件即可。


函數原型:FILE *fopen(char *filename, char *mode);

功版 能:以mode指定的方式打開名為filename的文件

返 回權 值:成功返迴文件指針;否則,返回0


舉例如下:

#include<stdio.h>//fopen所在的頭文件
voidmain()
{
FILE*fp;//定義一個文件指針fp
fp=fopen("text1.txt","r");//以只讀的方式打開文件名為text1.txt的文件
........
fclose(fp);//操作完畢後關閉文件
}

⑵ LinuxC語言頭裡面的ERROR函數怎麼使用

errno會返回一個數字,每個數字代表一個錯誤類型。詳細的可以查看頭文件。/usr/include/asm/errno.h
如何把errno的數字轉換成相應的文字說明?
方式一:可以使用strerrno函數

char *strerror(int errno)
使用方式如下:

fprintf(stderr,"error in CreateProcess %s, Process ID %d ",strerror(errno),processID)
將錯誤代碼轉換為字元串錯誤信息,可以將該字元串和其它的信息組合輸出到用戶界面。
註:假設processID是一個已經獲取了的整形ID
方式二:使用perror函數

void perror(const char *s)
函數說明
perror ( )用來將上一個函數發生錯誤的原因輸出到標准錯誤(stderr),參數s 所指的字元串會先列印出,後面再加上錯誤原因 字元串。此錯誤原因依照全局變數 errno 的值來決定要輸出的字元串。
另外並不是所有的c函數調用發生的錯誤信息都會修改errno。例如gethostbyname函數。
errno是否是線程安全的?
errno是支持線程安全的,而且,一般而言,編譯器會自動保證errno的安全性。
我們看下相關頭文件 /usr/include/bits/errno.h
會看到如下內容:
# if !defined _LIBC || defined _LIBC_REENTRANT
/* When using threads, errno is a per-thread value. */
# define errno (*__errno_location ())
# endif
# endif /* !__ASSEMBLER__ */
#endif /* _ERRNO_H */
也就是說,在沒有定義__LIBC或者定義_LIBC_REENTRANT的時候,errno是多線程/進程安全的。
為了檢測一下你編譯器是否定義上述變數,不妨使用下面一個簡單程序

#include <stdio.h>
#include <errno.h>

int main( void )
{
#ifndef __ASSEMBLER__
printf( "Undefine __ASSEMBLER__/n" );
#else
printf( "define __ASSEMBLER__/n" );
#endif

#ifndef __LIBC
printf( "Undefine __LIBC/n" );
#else
printf( "define __LIBC/n" );
#endif

#ifndef _LIBC_REENTRANT
printf( "Undefine _LIBC_REENTRANT/n" );
#else
printf( "define _LIBC_REENTRANT/n" );
#endif

return 0;
}

⑶ C語言fgets讀取頭文件出現問題

1、fgets函數:
原型:char * fgets(char * buf, int bufsize, FILE * stream);
功能:從文件結構體指針stream中讀取數據,每次讀取一行;
說明:讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦值為)。如果該行不足bufsize個字元,則讀完該行就結束,如果該行超過bufsize-1個字元,則fgets只返回一個不完整的行,buf緩沖區以字元結束,下一次fgets調用會繼續讀取該行剩餘的字元;
頭文件:stdio.h;
返回值:若讀入成功,返回與參數buf相同的字元指針,若讀入過程中遇到EOF或發生錯誤,返回NULL指針。所以當遇到返回值為NULL的情況時,應使用ferror或feof函數檢查是發生錯誤還是遇到EOF。
2、常式:

#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數

fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}
閱讀全文

與linuxfprintf頭文件相關的資料

熱點內容
網路k歌什麼麥 瀏覽:653
java創建oracle存儲過程 瀏覽:84
iphone6越獄後不保修 瀏覽:302
app君生病了 瀏覽:256
抖音大數據處理中心在哪裡 瀏覽:668
5s的app在那裡 瀏覽:665
ssojava 瀏覽:282
iphone6pluscase 瀏覽:268
Word怎麼設置只讀文件 瀏覽:71
天旦網路怎麼樣 瀏覽:572
如何查看錄音文件是經過編輯的 瀏覽:285
origin可以用哪些文件格式 瀏覽:841
python批量下載oa文件夾 瀏覽:488
xml文件怎麼輸入內容 瀏覽:392
三星手機加密文件夾 瀏覽:1000
cvi例子在哪個文件夾 瀏覽:18
好玩的蘋果商店塔防游戲排行榜 瀏覽:797
snow密碼錯誤怎麼辦 瀏覽:733
電腦主機如何存儲數據2年 瀏覽:456
學校網路是什麼模式 瀏覽:330

友情鏈接