背景
gets函数因为安全隐患被禁用了,fgets又把回车也添加到数组里面,用着很不爽,有时候还搞错了。干脆自己写一个简单点的自用吧。专为竞赛准备
说明
作为竞赛用模板,当然越简单越好,有时候会不自觉的考虑过多的判断,导致代码臃肿,其实作为竞赛专用,好心的出题老师都会加入各种条件,做出好多数据保障。让我们可以不用去考虑过多的细节问题,所以,本代码也是如此。
本函数主要模仿gets,把回车符扔掉!!!
代码
#include <cstdio>
#include <cstring>
using namespace std;
const int N=110;
char a[N];
//a数组元素默认是0,故函数不用特地写空字符
//输入数据保证不会超过N,也省掉判断超出最大值
int myget(char s[]){
int len=0,c;
while(c=getchar(),c!='\n'){
s[len++]=c;
}
return len;
}
int main(){
int len=myget(a);
for(int i=0;i<len+10;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
//输入Hello world!
//输出:72 101 108 108 111 32 119 111 114 108 100 33 0 0 0 0 0 0 0 0 0 0