與gets()作用相同的三種函數用法

由於較多最新版本的編譯器不支持gets()函數了,所以大家可以用下面這三種方法替代。(可以讀空格,到換行結束)自己感覺哪種好記就用哪個吧。

1.scanf();

#include <cstdio>
using namespace std;
int main()
{
    char a[100],c;
    int n=0;
    while(~scanf("%c",&c))
    {
        if(c=='\n')
            break;
        a[n++]=c;
    }
    printf("%d\n",n);
    return 0;
}

測試結果:

2.scanf("%[^\n]");

#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    char a[100];
    int n=0;
    scanf("%[^\n]",a);
    n=strlen(a);
    printf("%d\n",n);
    return 0;
}

測試結果:

3.getline();

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
    string a;
    getline(cin,a);
    int n=a.size();
    printf("%d\n",n);
    return 0;
}

測試結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章