湛江的高铁站建在哪里,男女生做羞羞事情的网站,怎么样看网站用什么程序做的,网站中flash声明#xff1a; char *fgets(char *str#xff0c;int n,FILE* stream) 参数#xff1a; str—这是指向一个字符数组的指针#xff0c;该数组存储了要读取的字符串 n – 这是要读取的最大字符数#xff08;包括最后的空字符#xff09;。通常是使用以str传递的数组… 声明 char *fgets(char *strint n,FILE* stream) 参数 str—这是指向一个字符数组的指针该数组存储了要读取的字符串 n – 这是要读取的最大字符数包括最后的空字符。通常是使用以str传递的数组长度 stream –这是指向FILE对象的指针该FILE对象标识了要从中读取字符的流。 返回值 如果成功该函数返回相同的str参数如果到达文件末尾或者没有读取到任何字符str内容保持不变并返回一个空指针如果发送错误返回一个空指针。 #includestdio.hint main()
{FILE* fp;char str[60];fp fopen(file.txt,r);if(fp NULL){perror(open file error\n);return -1;}while(fgets (str,60,fp) ! NULL){puts(str);}fclose(fp);return 0;
} 关于向stream传入stdin的情况 /***
stdin.c
***/
#includestdio.h
const int maxn 100;int main()
{int iRet -1;FILE *fp;char str[100];char *ret_val;ret_val fgets(str,maxn,stdin);//fgets(str,maxn,stdin);printf(ret_val %8X\n,(int)ret_val);printf(str %s\n,str);printf(str %8X\n,(int)str);if(str ! NULL){fp fopen(file.txt,a); iRet fputs(str,fp);if(iRet 0){printf(success\n);}else{printf(error\n);}}return 0;
} ret_val fgets(str,maxn,stdin); str不能仅仅单独声明为char*类型。虽然这样声明也可以通过但是它会存在风险如果该指针随机指向了一个正在使用的空间。 所以在声明的时候分配内存是最好的选择 ret_val他会指向和str相同的内存空间如果str声明为char*类型会导致返回值的ret_val 指向地址失败程序出现段错误。 转载于:https://www.cnblogs.com/wanghao-boke/p/11608141.html