c/c++ 如何输入带空格的字符串
生活随笔
收集整理的這篇文章主要介紹了
c/c++ 如何输入带空格的字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
如題所示
c語言情況
常規輸入
#include <stdio.h>int main()
{char str[10] = {0};scanf("%s", str);printf("%s\n", str);return 0;
}
test
fasdf as
fasdf
c語言會自動截斷輸入的空格
問題
- 輸入字符串有空格,無法處理
- 輸入字符串長度超過字符數組長度,不安全
改進
#include <stdio.h>
#include <string.h>int main(int argc, char* argv[])
{char str[10] = {0};fgets(str, sizeof(str), stdin);if (str[strlen(str) - 1 ] == '\n'){str[strlen(str) - 1] = '\0';}printf("%s\n", str);return 0;
}
test
fads adfasdfad asda
fads adfa
c++情況
#include <iostream>
using namespace std;int main()
{char str[10] = {0};cin >> str;cout << str << endl;return 0;
}
test
10fasd dfa
10fasd
改進
#include <iostream>
using namespace std;int main()
{char str[10] = {0};cin.getline(str, sizeof(str));cout << str << endl;return 0;
}
test
dfas 1223434dfsdfadfa
dfas 1223
總結
以上是生活随笔為你收集整理的c/c++ 如何输入带空格的字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker使用遇到问题Got perm
- 下一篇: Django学习之路(一)--初识dja