C++如何輸入含空格的字串
1、scanf函式(包含標頭檔案#include <stdio.h>)
scanf函式一般格式為scanf(“%s”,st),但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下: 1)利用格式符“%[]”它的作用為掃描字元集合。Scanf(“%[^c]”,str); 其中“c”是一個具體的字元常量(包括控制字元)。當輸入字串時,字元“c”將被當作當前輸入的結束符。利用此格式符就可以由程式設計者自己指定一個輸入結束符。例如:scanf("%[a-z A-Z0-9]",str)表示只匹配輸入是大小寫字母和數字,遇到非數字和字母時輸入結束。例如:
int main()
{
char st[50];
scanf("%[^\n]",st);// \n作為字串輸入的結束符
printf("%s",st);
return 0;
}
2. cin(包含標頭檔案#include <iostream>)
cin是C++中最常用的輸入語句,當遇到空格或者回車鍵即停止。無法解決。
3. gets()
可以無限讀取,以回車結束讀取,C語言中的函式,在C++中執行會產生bug。在C11標準中已被正式刪除,建議不要用!!!
4. getline()(包含標頭檔案#include <string>)
若定義變數為string型別,注意不是字元型陣列
int main()
{
string st;
getline(cin,st);
cout<<st<<endl;
return0;
}
4.cin.get (char *str, int maxnum)
cin.get()函式可以接收空格,遇回車結束輸入。
int main() { char st[50]; cin.get(st,50); cout<<a<<endl;// 輸出也可以用printf("%s",st); return0; }
5.cin.getline (char *str, int maxnum)(包含標頭檔案#include <string>)
cin.getline()函式可以同cin.get()函式類似,也可接收空格,遇回車結束輸入。
int main()
{
char st[50];
cin.getline(a,50);
cout<<a<<endl; // 輸出也可以用printf("%s",st);
return0;
}
6. 字串型別轉換為字元陣列
(a)c_str()
char p[50];
string str="I Love Ningbo!";
strcpy(p,str.c_str());
printf("%s",p);
(b)data()
char p[50];
string str="I Love Ningbo!";
strcpy(p,str.data());
printf("%s",p);
相關推薦
C++如何輸入含空格的字串
1、scanf函式(包含標頭檔案#include <stdio.h>) scanf函式一般格式為scanf(“%s”,st),但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下: 1)利用格
關於C語言中用scanf語句輸入帶有空格字串問題
比如輸入I am your friend,然後倒序輸出:輸入語句scanf("%[^\n]",x.a); C語言中scanf()函式提供的“%[]”格式串可以用來進行多個字元的輸入,並對結束符進行自定
C++輸入帶空格的字串
某次刷題的時候,要求輸入一個字串(含空格),然後對其進行操作,後來發現用cin輸入是有bug的。 在輸入的過程中,當遇到第一個空格,即輸入完畢或者是字串讀取完畢。 #include<iostream> using namespace std;
C# 輸入用空格隔開的數字 比較其大小
string s = Console.ReadLine(); string [] arr= s.Split(' '); //返還由' '隔開的字串 int[] arr
string不能輸入空格,如何輸入有空格字串呢
第一種方法: char t[50]; cout<<"input a string:"<<endl; gets(t); for(i=0;t[i]!='\0';) 方法第二種:string str; char c; cout<<"
C++如何連續輸入多個可能含空格的字串
可以嘗試如下方案,親測可行。 int main() { string s1,s2; while(getline(cin,s1)&&getline(cin,s2))
C++如何輸入多行字串(含空格)
我們要實現這樣的功能: 輸入一個整數n,表示接下來要輸入n行字串,每一行字串帶有空格,按回車表示結束該行的輸入 程式1: #include <iostream> #include <string> using namespace std; int
統計一行文字的單詞個數 (15 分) 本題目要求編寫程式統計一行字元中單詞的個數。所謂“單詞”是指連續不含空格的字串,各單詞之間用空格分隔,空格數可以是多個。 輸入格式: 輸入給出一行字元。 輸出格式: 在一行中輸出單詞個數。 輸入樣例: Let's go to room 209. 輸出樣例
MD,一開始就想著怎麼 用空格和結尾前判斷字母 來計算寫的頭的爆了, 反過來判斷空格後面是否有 =‘ ’就尼瑪容易多了 #include<stdio.h> #include<stdlib.h> #include<string.h> int
C/C++中輸入帶空格的字串用法總結
(1)gets(char *str) 需要包含標頭檔案#include <stdio.h> (2)scanf("%[^\n]]",str) 需要包含標頭檔案#include <stdio.h>
C語言輸入帶空格的字串
用scanf("%s",array); 的話遇到空格就停止接收後面的字元了,那怎麼才能接收帶空格的字串呢? 1.用 gets() ,它可以接收帶空格的字串, 直到回車才結束輸入 char buf[80]={0}; gets(buf); //可以讀取空格, 回車結
c#輸入一個字串,並把字串的第一個字元變為大寫,如果字串中有空格則把空格的下個字元變為大寫之後輸出
using System; using System.Collections.Generic; using System.Text.RegularExpressions; delegate int MyDelegate();//相當於c函式指標 namespace c
C++連續輸入帶空格的字串
測試檔案 測試1 #include <stdio.h> #include <iostream> #include <string> using namespa
C++ 輸入一行數字或字串(未知個數),以空格間格,換行後結束輸入並輸出
說明:通過getchar()來判斷是否是\n來終止輸入 方法一: 一行中輸入多個數字並以空格間隔,通過int陣列儲存 #include<iostream> #include<string.h> #include<stdio.h> u
C語言(三 字串、結構體、共用體、輸入輸出)
字串 字串是儲存了一些字元,最後以null(’/0’)結尾的一維字元陣列。 char str[6] = {'h','e','l','l','o','/0'}; char str[ ] = "hello" ; 還有一些字串操作函式: 1、strcpy(s1,s2) 複製s2到s1 2
劍指offer(一):替換空格 字串 C語言
題目: 替換空格 請實現一個函式,將一個字串中的空格替換成“%20”。 例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 思路1:建立兩個陣列 ,一個存放原來的,一個存放替換後的 時間複雜度過高O(n^2
c語言網-1477-字串輸入輸出函式
題目描述 編寫函式GetReal和GetString,在main函式中分別呼叫這兩個函式。在讀入一個實數和一個字串後,將讀入的結果依次用printf輸出。 兩次輸入前要輸出的提示資訊分別是" please input a number:\n”和" please
C語言 將連續輸入的空格以一個空格輸出
#include<stdio.h> #define NONBLANK 'a' main( ) { int c,lastc; lastc = NONBLANK; while((c = getchar( ) )!= EOF ) {
如何在scanf中輸入帶空格的字串
寫聊天室時,想輸入帶有空格的字串(個性簽名) C語言中scanf()函式提供的“%[]”格式串可以用來進行多個字元的輸入,並對結束符進行自定義。 對於%[]還可以用^+任意字元(包括 eof)來結束字串的輸入,如%[^EOF]就是直到有EOF 輸入,字串才中止。參考程式碼:
【C語言】輸入三個字串,由小到大排序輸出。
仔細觀察下面程式: #include <stdio.h> #include <string.h> void swap(char *p1,char *p2) { char *ret = p1; p1 = p2;
scanf()函式實現輸入帶有空格的字串
我們用scanf()函式輸入一個帶空格的字串時,經常會在第一個空格時就停止輸入。 下面有兩種方法可以完整輸入字串 1)利用strcat()函式來實現帶空格字串的輸入,可以用字串追加函式strcat()來連線每個單詞。 Strcat()一般格式:char*strcat(char*dest,const cha