导航:首页 > 文件教程 > 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头文件相关的资料

热点内容
泰国罪孽父亲出海 浏览:201
能看的网站小电影 浏览:460
华北电力大学javaee 浏览:266
练习编程可以去哪些学校 浏览:111
使命召唤小说同人 浏览:242
学校缴费用要用什么app 浏览:316
联创得力网络技术北京有限公司 浏览:438
按键精灵如何打开固定文件 浏览:875
小鬼当家6普通话国语 浏览:864
虚拟光驱压缩文件怎么安装 浏览:943
母女双收的小说 文笔好 浏览:899
你的数据线是什么样的 浏览:530
电影开头是一个女的洗澡 浏览:303
linux启动选择内核 浏览:670
华硕用什么编程 浏览:277
金山数据恢复已付款怎么办 浏览:326
win10鼠标箭头改变 浏览:906
主角叫凌寒的小说 浏览:230
word怎么在字加框 浏览:537
俄二战电影旧枪普通话在线观看 浏览:387

友情链接