C++のws(ホワイトスペース)の機能が
どのようなものが教えてください。
また、使い方についても教えていただけるとうれしいです。

endsのスペース以外の機能はどのようなものでしょうか?

どちらでもいいのでレスください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

wsやendsって、ストリーム入出力で使う「マニピュレータ」のことですよね?



 wsは使ったことがないんですが、手元の資料には
   先行する空白文字を取り除く
とあります。どうやら入力ストリームに使うマニピュレータみたいですね。
 ただ、具体例までは載ってませんでした・・・

 endsについてですが、これってスペースを出力するものではないですよ。
確かに表示上は1つ分の空白が空きますが、正確には
   '\0'を出力し、ストリームのバッファをフラッシュする
ものなんです。つまり、「ends = end string」という訳です。

 endlともよく似てますが、こちらは
   '\n'を出力し、ストリームのバッファをフラッシュする
ものです。「endl = end line」ということですね。

 ちなみに「ストリームのバッファをフラッシュする」とは、
   出力命令によってストリームバッファ(メモリ)に入ったデータを
   実際の出力先デバイスに送出する
ことです。
#余分な出力をせずにフラッシュのみを行うflushというマニピュレータもあります。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWS_TABSTOPが機能するコントロールを作る

Windowsにおいてダイアログに貼り付ける独自のコントロールを作っているのですが、TABキーでコントロールのフォーカスを移動させたとき、自分のコントロールを素通りしてしまいます。

もちろんウィンドウスタイルにWS_TABSTOPを指定して生成しているのですが、今さらながらWS_TABSTOPはWS_MINIMIZEBOXと同じ値であることに気づきました。
もしかすると、WS_TABSTOPではなく、WS_MINIMIZEBOXとして認識されているのではないか?と思いましたが、
その違いがどのように判別されているのかが分かりませんでした。
SPY++で調べてみると、確かに今回問題のコントロールのスタイルは0x50030000となっていますが、SPY++はこれをWS_CHILDWINDOW、WS_VISIBLE、WS_MINIMIZEBOX、WS_MAXIMIZEBOXと表示しています。
一方、普通にダイアログに貼り付けたプッシュボタンでは、スタイルは0x50010000なのにSPY++はWS_CHILDWINDOW、WS_VISIBLE、WS_TABSTOP、BS_PUSHBUTTONとなっていて、同じ値であるのにWS_TABSTOPとWS_MINIMIZEBOXを区別して表示しています。
これは、どういう理屈なのでしょうか?

ご存じの方、よろしくお願いします。

Windowsにおいてダイアログに貼り付ける独自のコントロールを作っているのですが、TABキーでコントロールのフォーカスを移動させたとき、自分のコントロールを素通りしてしまいます。

もちろんウィンドウスタイルにWS_TABSTOPを指定して生成しているのですが、今さらながらWS_TABSTOPはWS_MINIMIZEBOXと同じ値であることに気づきました。
もしかすると、WS_TABSTOPではなく、WS_MINIMIZEBOXとして認識されているのではないか?と思いましたが、
その違いがどのように判別されているのかが分かりませんでした。
SP...続きを読む

Aベストアンサー

GetNextDlgTabItem によるフォーカス移動は確認済みでしょうか?
私が見ている古い Win32 の説明には
「Windowsは、 GetNextDlgTabItem関数を使って、 表示されていて使用不能ではなく、 WS_TABSTOPスタイルを持つ次のコントロールを探します。」
と有ります。

私は最初の2つのどちらかが条件を満たしていない気がします。

QVC++で、IEのお気に入り機能と同じようなものが作れません。

いま、Visual Studio の Visual C++ を使って、
ブラウザを作っています。
IEと全く同じお気に入り機能をつけようとしたところ、
全くわからないところが出てきました。

その1
メニューバーに「お気に入り」というメニューを作り、「お気に入りを追加する」を押して、お気に入りメニューの中にボタンを追加する。
ということまではできました。ただし、

その追加された項目が「押されたら、サイトに飛ぶ」という動作ができないのです。

どのようにしたら、その機能を実装できますか?

わかりづらい質問ですが、わかりそうな方回答お願いします

Aベストアンサー

 こんばんは。No1です。
 すんません、的外れな回答をしてしまいました・・・。
 「追加されていくアイテム項目達からイベント通知が受け取れなくて困っている」という事ですか?
 専用のイベントハンドラ一つ作成しておき、項目を追加する際に、そのイベントハンドラを設定してあげれば良いのではないでしょうか。
 イベントハンドラは一つで良いと思います。イベント通知して来たアイテムが異なれば、イベント内で違いを見抜ける筈です。
 例えば、メニューのドロップダウンならばこう言う感じです。

 //お気に入り項目を追加する時
+-------------------------------------------------------------------+
ToolStripMenuItem^ menuItem = gcnew ToolStripMenuItem();
menuItem->Name = L"dynamic menu item";
menuItem->Text = /*メニューの項目名(お気に入りURL)*/;
//クリックイベントを設定する
menuItem->Click+=gcnew System::EventHandler(this, &Form1::OkiniiriMenuItemEvent_Click);
//ポップアップメニューの下に項目を追加して行く
this->OkiniiriPopupMenuItem->DropDownItems->Add(menuItem);
+-------------------------------------------------------------------+
//お気に入り項目のイベント通知を受け取る為のイベントハンドラ
System::Void Form1::OkiniiriMenuItemEvent_Click(System::Object^ sender, System::EventArgs^ e)
{
//クリックされたメニューアイテムを取り出す
ToolStripMenuItem^ menuItem = dynamic_cast<ToolStripMenuItem^>(sender);
//キャスト結果の確認
if(menuItem == nullptr)return;
//URLの文字列(項目名)を使う
menuItem->Text;
}

 こんばんは。No1です。
 すんません、的外れな回答をしてしまいました・・・。
 「追加されていくアイテム項目達からイベント通知が受け取れなくて困っている」という事ですか?
 専用のイベントハンドラ一つ作成しておき、項目を追加する際に、そのイベントハンドラを設定してあげれば良いのではないでしょうか。
 イベントハンドラは一つで良いと思います。イベント通知して来たアイテムが異なれば、イベント内で違いを見抜ける筈です。
 例えば、メニューのドロップダウンならばこう言う感じです。...続きを読む

QLove Sexualと言うサイトに付いて

Love Sexualと言うサイトに付いて

最近Love Sexualと言うサイトから頻繁にメールが届く様になりました。登録した記憶のないサイトで、登録上は、「仮登録」となっています。多分詐欺サイトだと思われます。今日届いたメールは、「Love Sexual債権回収部・担当鈴木さん」と言う題名のメールで開いて見ると、仮登録で登録料が3000円です。となっており、支払い期日を過ぎてるので超加遅延金を含めて162750円支払う様な指示がありました。他のメールを読むと、貴方と和解しますから7万円支払って下さいと言うものです。

法律では有料サイトを閲覧する場合、サイト側より有料サイトで有る事のアナウンスと本当に支払ってでも利用するかどうかの意思確認が無いと違法で有る事は知っています。そう言う意思確認メールが無いまま請求が来ていますので、無視し続けて大丈夫だとおもわれます。しかし、無視し続けて最悪家庭裁判所からの出頭命令が来てしまった場合、無視したら裁判に負けて裁判所からの支払い命令が来てしまいます。

以上の事までは知っているのですが、仮に裁判所からの出頭命令が来ても仕事の関係で裁判所に出頭する時間がありません。この場合でも、無視し続けて良いのでしょうか??

後日(7/27)には消費者センターに相談に行く予定ですが、それまでの間に出来る事がありましたらお教え下さい。Love Sexualには住所等は知らせて無いので、メアドから住所を調べる事までは出来無い(ソフトバンクが教えない限り・・・)と思うのですが・・・・

以上の件、お解りの方がいましたら、御指導お願いします。

Love Sexualと言うサイトに付いて

最近Love Sexualと言うサイトから頻繁にメールが届く様になりました。登録した記憶のないサイトで、登録上は、「仮登録」となっています。多分詐欺サイトだと思われます。今日届いたメールは、「Love Sexual債権回収部・担当鈴木さん」と言う題名のメールで開いて見ると、仮登録で登録料が3000円です。となっており、支払い期日を過ぎてるので超加遅延金を含めて162750円支払う様な指示がありました。他のメールを読むと、貴方と和解しますから7万円支払って下さいと言う...続きを読む

Aベストアンサー

>無視し続けて大丈夫だとおもわれます


以前契約した覚えがないなら無視!が原則


>最悪家庭裁判所からの出頭命令が来てしまった場合、・・・仮に裁判所からの出頭命令が来ても仕事の関係で裁判所に出頭する時間がありません。この場合


必ず出頭し、契約が無効であること、詐欺であることを抗弁しないと敗訴します。

>Love Sexualには住所等は知らせて無いので、メアドから住所を調べる事までは出来無い(ソフトバンクが教えない限り・・・)

令状による警察(検察)からの請求には応じますが、民間の業者に個人情報を教えることはありません(部内に協力者がいない限り)


煩いなら、そのメールを受信拒否するか、アドレスを変更、解約すれば?

Q文字、(ホワイト)スペース、数値の混在したデータの読み込み(C言語)

Initial  time  01:05  date  00/01/01
name

a:2
b:3
10
20
30




上記のようなテキストファイルで、6行目以降の数値を配列に格納して統計処理を考えています。自分ではfgetsが行の終端まで読むのを利用して、まず十分な長さのchar型配列を5つ用意し、1行目~5行目まではそれに格納し、6行目以降はfscanfで読む事を考えたのですが、printfで表示させると格納した文字や、計算の結果期待できる数値と異なる表示になってしまいます。良い方法があれば教えて頂きたく存じます。よろしくお願い致します。

Aベストアンサー

>fgetsとfscanfは一緒には使えないのでしょうか?
使用できますが、混在した使い方を私は勧めません。
但し、出来ないわけではないので貴方のやり方が間違っているわけではありません。
一緒に使うのであれば、以下の点をチェックしてみて下さい。
1.fgetsの読み込み領域は十分大きく取っていますか。又、そのサイズは正しく指定していますか。
(改行まで読み込んでいない可能性がありますから)
2.fscanfの書式は"%d"でしょうか。また、そのデータを格納する領域はint型でとっていますか。
3.fscanfを実行時の戻り値はどのような値が返りますか。

Qウインドウスタイルの、WS_EX_TOPMOST

引き続きVC++2008でWindowsフォームアプリケーションを作っています。
WindowsAPIでのウインドウ製作中です。

今Form1を親とするウインドウで、CreateWindowEx内のウインドウスタイルの個所の引数にWS_EX_TOPMOSTを指定したのですが
どうも最前面に表示されてくれないようです。


これは何か他にやらないといけない事があるのでしょうか?


なお、CreateWindowEx関数は現在、最初の引数を
WS_EX_TOOLWINDOW にして、WS_EX_TOPMOST以外のウインドウスタイルは
WS_SYSMENU | WS_VSCROLL | WS_SIZEBOX
がある状態です。

Aベストアンサー

WS_EX_TOPMOSTは第一引数に指定するものです。
特に他に条件はありません。
WS_EX_TOOLWINDOWと同時に指定しても問題ないはずです。

QVisual C++ で自動半角スペース入力がしたい

いままでVisual Basicを使っていたのですが、最近Visual C++を使いはじめて困ったことがあります。
VBでは、
x=1
と入力して改行すると、自動で
x = 1
と半角スペースを入れてくれるのですが、Visual C++では入れてくれません。
()の中や、+ * の前後にはできれば自動で半角スペースを入れたいのですが、Visual C++ではできないのでしょうか?

どなたか詳しい方、方法がありましたら教えてください。お願いします。

Aベストアンサー

 これは難しいと思いますね。
 Microsoft BASIC言語とC言語の違いと言っても良いでしょう。
 Microsoft BASIC言語は、1行1ステートメントが基本で、1行編集するたびにVisual Studioが構文を評価、再フォーマットします。これに対してC言語はフリーフォーマットと呼ばれる形式です。たとえば、ifと(の間にスペースがあってもなくても良い、タブでも良い、改行でも良い、いくつ改行を置いても良い、という風に、ソースの書き方に正解がないため(ガイドラインはありますが)、自動でフォーマットできないのです。ただ、探せばそのような動作をしてくれるVisual Studioのプラグインなどが見つかるかも知れません。

Q仮想化ソフトによるWindwsのセキュリティー

お世話になります。
Mac OS X 10.5.7で仮想化ソフト(Parallels Dasktop)をインストールし
Windws Vistaを時々使っています。
Macには、Nrton Internet Cecurity Mac版をインストールしてあります。
しかし、Windwsを立ち上げると、Windwsにセキュリティーの警告が出てしまいます。(マルウエアがみつからない)
Macにセキュリティーソフトがインストールしてあるから、Windwsのセキュリティーの警告は無視してもいいのでしょうか。
それとも、セキュリティーソフトがMac版だから、Windwsは保護されていないということになるのでしょうか。
どのように対処したらいいかわかりません。
知識のある方からのご回答をお待ちしております。
よろしくお願いします。

Aベストアンサー

Mac OSの上で悪さをするウイルスに対しては対策できているようですが、Windowsの上で悪さをするウイルスに対しては何も対策をしていないということですか。
仮想パソコンとして稼動しますから、最悪の場合他人に迷惑をかけることになりますのでWindowsでもセキュリティ対策を行いましょう。また、Mac OSがインストールされているハードディスクをWindows側から壊されたりするかもしれません。

QVisual C++ で自動半角スペース入力がしたい(改)

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1046000
こちらの質問の回答を受けまして、改めて質問させていただきます。

どなたか、このような(Visual C++で演算子の前後などに自動でスペースを入力するような)動作をするVisual Studioのプラグインをご存知ないでしょうか。
もしありましたら、教えてください。お願いします。

Aベストアンサー

そういうマクロを組めば良いのでは?
ただそのマクロが
エンターキー(改行)と連動できるかどうかは分かりません。
改行の前にF1キーを押すなり1アクション必要にはなるとは
思いますが。

QIIYAMA E1900WS PCモニターについて

IIYAMA E1900WS PCモニターは光沢(グレア)タイプか非光沢(ノングレア)タイプかどちらかわかるかた教えてください。光沢(グレア)タイプのモニターを中古で安く探しています。

メーカーサイトを見てもわかりません。http://www.iiyama.co.jp/cgi-bin/discontinued/detail_lcd.cgi?mode=itemfind&keyword=stock|LCD|19INCH|PLE1900WS-2

iiyama ProLite E190-WS-Bとは全然別物でしょうか?http://www.iiyama.co.jp/info/2006/11/20061113.pdf

Aベストアンサー

E1900WSはグレア
PLE1900WS-2はノングレア
E190-WS-Bは別物でグレア

QC/C++ゲームのメッセージ機能

お世話になります。

現在C/C++でWIN32APIを使ってゲームを作っているのですが、
例えばドラ○エのようにストーリーの進捗に応じて
下表示部にメッセージと台詞を表示する機能を作ろうとしています。

fget関数などを使って、外部テキストのデータを
読み込んでくるまでは何とかできると思うのですが、
どうやったらそれを画面に表示できるのか分かりません。

初歩的なことで申し訳ないのですが、どうすれば良いか教えてください。
よろしくお願いします。

Aベストアンサー

こちらが参考になると思います。

「RPG」
http://www.geocities.co.jp/SiliconValley-Bay/2736/


人気Q&Aランキング

おすすめ情報