⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stderr.txt

📁 1545 非得12非得51大幅度 stderr非得 非得
💻 TXT
字号:

=======================

if   (intio_read(f)!=('P'<<8)+0x80)   
      {   fprintf(stderr,"File   %s   doesn't   contain   a   parity   check       matrix\n",pchk_file);   
          exit(1);   
      }   
    
  谁能帮我详细的解释一下stderr到底在那儿? 
stderr与stdin,stdout一样,是流。   
  具体就是stdin是标准输入流,默认为键盘,   
  stdout是标准输出流,默认为屏幕,   
  stderr是标准错误流,一般把屏幕设为默认,   
  也可以输出到文件。   
  你的程序应该是输出到屏幕。   
  可以看看c语言,有介绍的。
==========================================================================================================================
函数算在头文件:#include <stdio.h>
函数原型:
       int fgetc(FILE *stream);
       char *fgets(char *s, int size, FILE *stream);
       int getc(FILE *stream);
       int getchar(void);
       char *gets(char *s);
函数说明:
       fgetc() :从读取文件流中读取下一个字符,并将其以无符号数返回,或者返回文件末尾标志或错误标志。 unsigned char cast to an int, 
       getc()  :和fgetc差不多,只是在读取的时候会检查文件流。
       getchar() :和getc(stdin)等效。
       gets() :从stdin中读取一行字符串,直到一行结束或是到文件末尾,字符串以’\0’结尾。但是不会检查是否有溢出。
       fgets() 读取少于size长度的字符,直到新的一行开始或是文件结束,最后会在读取的字符串最后一个字符后加一个结束字符’\0’ 。

关于返回值:
       fgetc(),  getc() and getchar()如果读取成功返回的是读取到的字符,并且将字符转换为无符号数或是文件末尾,读取失败则返回错误值。
       gets() and fgets() 如果读取成功返回的是读取到的字符,无数据读取或读取错误返回NULL。

=============================================================================================================================

inet_addr函数处理IP地址需要注意的问题2007-01-26 12:01现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"<<"操作来储存成长整字型。 

首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241.5.10" 要储存在其中,你就要用到函数inet_addr(),将IP地址从 点数格式转换成无符号长整型。使用方法如下:
ina.sin_addr.s_addr = inet_addr("132.241.5.10");
注意,inet_addr()返回的地址已经是网络字节格式,所以你无需再调用 函数htonl()。
我们现在发现上面的代码片断不是十分完整的,因为它没有错误检查。 显而易见,当inet_addr()发生错误时返回-1。记住这些二进制数字?(无符 号数)-1仅仅和IP地址255.255.255.255相符合!这可是广播地址!大错特 错!记住要先进行错误检查。
好了,现在你可以将IP地址转换成长整型了。有没有其相反的方法呢? 它可以将一个in_addr结构体输出成点数格式?这样的话,你就要用到函数 inet_ntoa()("ntoa"的含义是"network to ascii"),就像这样: 
printf("%s",inet_ntoa(ina.sin_addr));
它将输出IP地址。需要注意的是inet_ntoa()将结构体in-addr作为一 个参数,不是长整形。同样需要注意的是它返回的是一个指向一个字符的 指针。它是一个由inet_ntoa()控制的静态的固定的指针,所以每次调用 inet_ntoa(),它就将覆盖上次调用时所得的IP地址。例如:
char *a1, *a2;
.
.
a1 = inet_ntoa(ina1.sin_addr); /* 这是198.92.129.1 */
a2 = inet_ntoa(ina2.sin_addr); /* 这是132.241.5.10 */
printf("address 1: %s ",a1);
printf("address 2: %s ",a2);
输出如下:
address 1: 132.241.5.10
address 2: 132.241.5.10
假如你需要保存这个IP地址,使用strcopy()函数来指向你自己的字符指针。

 =============================================================================================================================
atoi(将字符串转换成整型数)
相关函数
atof,atol,atrtod,strtol,strtoul
表头文件
#include
定义函数
int atoi(const char *nptr);
函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
==============================================================================================================
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃 
fflush(stdout)刷新标注输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上 
============================================================================================================================



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -