c语言使用fgets从键盘获取一个字符串,保存在某字符数组中

作者&投稿:邲委 (若有异议请与网页底部的电邮联系)
C语言用fgets()从文件取一行给字符数组a[ ]后,数组内容是以什么结尾的?~

如果你的数组没有设定长度,那就是空字符 ‘\0' ( ASCII码是0) 作为结束标志,如果你设置了长度,而这一行字符的长度短于数组的长度,字符后面的第一个字符 ‘\0' 作为标志,其余为0

#include
#include
void main()
{ char a[100]="",b[100]="";
int i=0;
int j=0;
gets(a);
while(a[i]!='\0')
{ if(a[i]>='a'&&a[i]<='z')
{
b[j++]=a[i];
}
i++ ;
}
puts(b);

}
strcpy的结果每次都把a的值拷贝到b里,结果是b和a一样或b是空字符串

#include <stdio.h>
void main()
{
      char str[100];
      fgets(str,sizeof(str),stdin);
      printf("str=%s
",str );
}


fgets函数是从文件中回去一个字符串,从键盘获取使用gets,如gets(a),a是char数组名。

花木成畦(qí)手自栽。


C语言用fgets()从文件读取多行字符时出现的问题
其实这是没有必要的,我们可以随意指定一个合理的数,比如说5,3,10等都可以。我们只要不断地向流拿数据然后原样输出就可以了。只要别在输出函数中加一些其他多余的东西我们就可以将一行分多次读取,同时行与行之间的\\n也是一样的需要注意的是我们输出时要用fgets函数的返回值,而不是缓冲区 ...

C语言对文件操作,用fputs函数不能把字符串写入文件?
例如,我们定义一个config.txt文件,里面存放一些系统的配置信息,文件的格式如下:cat \/etc\/config.txt sys_pwd=123456 ApCliAuthMode=WPA2PSK ApCliEncrypType=AES ApCliChannel=1 ApCliDefaultKeyID=1 那么,文件的配置信息是一行一行数据,所以,可以用fgets()函数,快速读取出每一行系统配置信息。

怎么在c语言中,只用fgets函数读入一个整数,假设它占据单独的一行,读...
include "stdio.h"include "string.h"void main(){ int n;FILE *fin;char s[25];fin=fopen("c:\\\\a.txt","r");fgets(s,25,fin);\/*用fgets读第一行到数组s中*\/ n=strlen(s);fseek(fin,n+1,SEEK_SET);\/*将文件指针移到下一行*\/ fgets(s,25,fin);\/*读取第二行的字符串*\/ ...

C语言库函fgets(str,n,fp)的功能是
fp是 文件指针 ,n是前几个字符,str是数组名,整个表达式的意思是从fp指向的文件中读取前n个字符进数组str,与gets等输入不同的是,gets是从键盘读入数据进终端,而fgets是从外部储存器读入数据进终端

c语言中fgers(s,n,f)的功能是什么
确定不是 fgets ?如果是 fgets,其原型:char *fgets(char *s, int size, FILE *stream)作用:从文件流stream中最多读取size字节数据到缓冲区s中,直到遇到文件结束符EOF或换行符,读取完毕时回在s末尾中添加字符串结束符'\\0'

c语言gets函数
C语言中gets函数已被弃用,建议使用fgets函数。详细解释如下:1. gets函数简介 gets函数是C语言中的一个标准输入函数,用于从标准输入读取一行数据,并存储在指定的字符数组中。其函数原型为:char *gets。然而,由于gets函数在处理输入时存在缓冲区溢出风险,因此在C语言中已被弃用。2. gets函数的问题 g...

c语言中fgets 、fputs、fread、fscanf、fseek的区别和作用
...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp,"%s s d f",str1,str2,a,b);str1:10字节;str2:10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。4.fscanf 和...

C语言 怎么用fgets()把一个文件多行内容读取到一个字符串中
*fp;int i;char str[N]; *mystring='\\0';if ((fp=fopen(filename,"r"))==NULL){printf("打开文件%s失败\\n",filename);return NULL;}for(i=1;i<m;i++)if ( fgets(str,N,fp)==NULL){printf("文件%s长度不足%d行\\n",filename,m);fclose(fp);return NULL;}for(i=m;...

c语言fgets里怎么换行
fgets函数功能为从指定的流中读取数据,每次读取一行。其原型为:char *fgets(char *str, int n, FILE *stream);从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止。楼主没有说清具体要执行的规则,...

c语言fgets函数返回值问题,要是读到一串字符的末尾,那么函数返回值是NU...
关于 C 语言中的 fgets( ) 函数,该函数的作用就是从文本文件中读取一行文本内容。该函数执行成功将返回读入的字符串 buffer,读取失败或读到文件结尾返回NULL。例如如下代码:define MAX 300 void main( ){ unsigned char buffer[MAX] ;FILE * fpr ;fpr = fopen("my_text.txt","r);if( fpr ...

索县15513789202: c语言使用fgets从键盘获取一个字符串,保存在某字符数组中 -
井刻豆腐: fgets函数是从文件中回去一个字符串,从键盘获取使用gets,如gets(a),a是char数组名.

索县15513789202: 用C语言怎么从键盘上获取信息. -
井刻豆腐: 1、一般是使用getch获取 方向键(←): 0xe04b 方向键(↑): 0xe048 方向键(→): 0xe04d 方向键(↓): 0xe050 一个方向键要用两个getch才能把它的数据获取完. 然后对应着两个字符数据, 一个当高位, 一个当低位, 就可以判断按下的是什...

索县15513789202: c语言在二维数组中输入一个以回车键为结束标志的字符串 -
井刻豆腐: 库函数fgets把'\n'作为结束命令,同时也当作一个字符存储到目标空间里,并在其后加一个'\0'.所以用fgets接收键盘输入就能方便地达到题面的要求.可用下列代码测试: //#include "stdafx.h"//If the vc++6.0, with this line. #include "stdio.h" ...

索县15513789202: C语言中fputs()和fgets()的用法以及例子 -
井刻豆腐: #include <stdio.h> void main( void ) { FILE *stream; char line[100]; if( (stream = fopen( "fgets.c", "r" )) != NULL ) { if( fgets( line, 100, stream ) == NULL) printf( "fgets error\n" ); else printf( "%s", line); fclose( stream ); }#include <stdio.h> void main( void ) { fputs( "Hello world from fputs.\n", stdout ); }

索县15513789202: C语言里fgets函数怎么用?发一个简单的函数给我看下.谢谢. -
井刻豆腐: fgets(由文件中读取一字符串) 表头文件 include<stdio.h> 定义函数 char * fgets(char * s,int size,FILE * stream); 函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件...

索县15513789202: 如何用C语言直接读入键盘字符?
井刻豆腐: 可以使用C的标准输入输出函数:例如:scanf();getc();gets();fgets();这4个函数都可以实现键盘输入功能; 我写一个getc()的例子给你: char ch; //定义一个字符变量 ch = getc(); //从键盘读取字符,并赋值给字符变量ch;

索县15513789202: C语言 fgets()函数 -
井刻豆腐: 这个有错吧#include int main() { char p; p = (char*)malloc(8); p=fgets(p,5*sizeof(char),stdin);//fgets这里是怎么处理的? printf("%s",p); return 0; } 从标准输入获取5个字符存到p中,然后再输出

索县15513789202: C语言中的fgets
井刻豆腐: 可以输入4个字符,没问题.另外fgets是从文件里面读取,gets()才是终端输入 你可以测试一下嘛,你输入4个字符后,a[3]就是你输入的第4个字符,只有当你输入少于4个的时候,才会自动的在后面添上一个'\0',表示字符串结束,不然打印字符串是会出问题的

索县15513789202: c语言中fgets操作方法,求一简单程序示范 -
井刻豆腐: fgets为stdin.h头文件中声明的,从文件中读取字符串的函数.原型: char *fgets(char *buf, int bufsize, FILE *stream);参数:buf: 指向用来存储字符串的内存位置.bufsize: 读取数据的大小.stream: 将要读取的文件流. fgets最多从文...

索县15513789202: C语言里为什么fgets很少用? -
井刻豆腐: 因为fgets函数只能输入字符串,而Scanf()能输入多种类型的数据,加上一般的C语言教材往往重视讲授原理,而对程序健壮性、异常处理等考虑不多,所以一般资料很少提及fgets函数. scanf在获取用户输入的字符串时,遇到空格、制表符即...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网