1. 程式人生 > >c++不跳過空白符輸入一行字串

c++不跳過空白符輸入一行字串

今天做了幾題,要求不跳過空白符輸入一行字串然後再處理。下面說幾種我會的方法:

1)以前都用的是cin>>noskipws>>bank[i];or bank[i]=cin.get();加迴圈的方法

#include<iostream>
using namespace std;
char bank[100];
int main()
{
	while (1)
	{
		for (int i = 0;; i++)
		{
			//cin >> noskipws >> bank[i];
			bank[i] = cin.get();
			if (bank[i] == '\n')		//輸入結束識別符號'\n'
				break;
		}
		cout << bank;
	}
}

2)cin.get(陣列,sizeof(陣列)),使用它輸入流中會有一個'\0'沒有吸收,所以最後要cin.get()吸收掉
#include<iostream>
using namespace std;
char bank[100];
int main()
{
	while (1)
	{
		cin.get(bank, sizeof(bank));
		cout << bank<<endl;
		cin.get();			//用來接收輸入流中不需要的字元,不然會死迴圈
	}
}

3)cin.getline(陣列,sizeof(陣列),[’結束標誌符']),‘結束識別符號’是可選引數,只有你輸入了該字元本次輸入才算結束並且不會採集該字元。(網上有說該字元系統預設是‘\0',但是我覺得應該是’\n')
#include<iostream>
using namespace std;
char bank[100];
int main()
{
	while (1)
	{
		cin.getline(bank, sizeof(bank),'\n');
		cout << bank;
	}
}


相關推薦

c++空白符輸入一行字串

今天做了幾題,要求不跳過空白符輸入一行字串然後再處理。下面說幾種我會的方法: 1)以前都用的是cin>>noskipws>>bank[i];or bank[i]=cin.g

C語言:輸入一行字串統計出英文字母,空格,數字和其他字元的個數

題目要求 輸入一行字串統計出英文字母,空格,數字和其他字元的個數。 程式分析 要統計英文字母,空格,數字和其他字元的個數,則要遇到他們加一。 核心程式碼如下: while ((c=getchar())!='\n') { if ((c >= 'a' &

輸入一行字串,輸出改行的單詞

<h1>1. 輸入一行字串(單詞和若干空格),輸出該行單詞(每個單詞一行) #include<stdio.h> #include<stdlib.h> #include<ctype.h> int main(void) { char

輸入一行字串(單詞和若干空格), 輸出該行單詞個數 這裡用到判斷字元與否的isalpha

#include<stdio.h> #include<ctype.h> #include<string.h> void main() { int count; int i,sount; char a[90]; count =0; gets(a); if(isalp

【乾貨】SIFT-Workstation 下載與安裝 每一個細節部分

SIFT-Workstation.ova     下載地址https://digital-forensics.sans.org/community/download-sift-kit       ova是虛擬機器的格式,直接用虛擬機器開啟,可以

輸入一行字串,要求統計其中字母,空格,數字以及其他字元的數目

#include <stdio.h> void main() { int letter, space, digit, other; char ch; letter = space = digit = other = 0; while ((ch

C語言】從stdin讀取一行字串的多種方法

1. gets gets函式的標頭檔案是<stdio.h>,原型如下: char *gets(char *s); gets從stdin中讀入一行內容到s指定的buffer中,當遇到換行符或

關於fgets從鍵盤讀取,直接鍵盤輸入的問題

今天寫程式用到了fgets函式,想直接從鍵盤輸入資料到陣列,前面使用了scanf輸入int型別的數字,沒想到執行到fgets直接不等我輸入資料就跳過了,在網上查了一下,原來是stdin快取沒有清除乾淨的緣故: C語言裡的gets()函式功能是從輸入快取

C學習之路-scanf輸入char型別直接,變數定義說明!

一:定義一個char型別變數的時候,如果沒有初始化為常量,預設值為空字元,對應ASCII為0,所佔記憶體為1個位元組 二:定義一個int型別變數的時候,如果沒有初始化為常量,預設值為 0,所佔記憶體為4個位元組 三:定義一個數組型別變數的時候,如果沒有初始化,每個元素的值都是

C# 除錯技巧 想除錯的程式碼,(執行但除錯)

當你使用F11進行dubug工作時,經常會進入到一些不想進入的property或method內部。比如有下面的程式碼:     public string Word     {         get ;         set ;     } 並且你

C++入門題目:輸入一行電報文字,將字母變成其下一字母(如’a’變成’b’……’z’變成’a’其它字元變)。

#include<iostream> #include<string.h> #include<stdio.h> using namespace std; int main() {     char x[10000];     int b,d;          gets(x

有關連續cin輸入資料(cin丟棄回車符,>>會回車符)

看到很多C++程式碼中寫cin.get()後面註釋說這是吸收回車符,不知道是什麼意思! 看到很多C++程式碼中寫cin.get()後面註釋說這是吸收回車符,不知道是什麼意思! 比如 cout<<"請輸入學好、年齡和入學成績:"<<endl; cin

C++讀取一行字串輸入

這個知識點必須掌握,因為是必備技能!不然連輸入都搞不定,何談後面的? #include <iostream> #include <string> using namespac

C++ 每次讀取一行字串輸入

istream中的類(如cin)提供了一些面向行的類成員函式:getline()和get()。這兩個函式都讀取一行輸入,直到到達換行符。 getline()和get()函式不同的是:getline()將丟棄換行符,而get()將換行符保留在輸入序列中 ##########

C++ 輸入一行數字或字串(未知個數),以空格間格,換行後結束輸入並輸出

說明:通過getchar()來判斷是否是\n來終止輸入 方法一: 一行中輸入多個數字並以空格間隔,通過int陣列儲存 #include<iostream> #include<string.h> #include<stdio.h> u

C++從標準輸入讀取一行字串

程式碼如下,使用了頭<string> 和  <iostream> getline函式在頭<striing>中定義。 #include<iostream>

android開發裏的坑——button響應點擊事件

一個 不響應 color 事件 short ces andro generate lis 昨天遇到一個頭疼的問題,在手機上按鈕事件都很正常,但是在平板上(橫屏顯示的狀態),button點擊事件不響應,代碼簡化如下: public class Test extends Ac

robotframework 判斷下拉框是否存在,如果存在就執行下拉框操作,存在就執行下拉框操作,進行下一步操作;

新頁面 存在 robot sel log 是否 work val image #本人新手,僅做學習記錄之用 因為工作要求,打開的ui頁面,根據前面篩選的條件不同,跳轉的新頁面不同,本記錄涉及的就是有下拉框和沒有下拉框,所以要對新打開的頁面進行判斷;run keyword

譚浩強 C程序設計 8.10寫一函數,輸入一行字符,將此字符串中最長的單詞輸出。

就會 譚浩強 設計 nbsp get urn log i++ 代碼 代碼量稍微一大,就會出現bug,浪費很多時間,繼續努力。 #include <stdio.h> void main(){ void maxLen(char str[50]);

C++輸入一行字符串的一點小結

.html 輸入一行字符串 回車 arch pop auto etl 多行 bar C++輸入一行字符串的一點小結 原文鏈接: http://www.wutianqi.com/?p=1181 大家在學習C