思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

C++

もうよい!std::istreamにはstd::ios::sitbitフラグがセットされるべき

std::istreamから行末まで読みたい場合、最もお手軽に済ませるにはstd::getline()を使うと良い。 動くサンプル: #include <iostream> #include <iostream> #include <iomanip> #include <fstream> #include <sstream> #include <string> /// ストリームの状態を表示します。(デバッグ用) static void dump_stream_st</string></sstream></fstream></iomanip></iostream></iostream>…

std::istreamで行末まで読み飛ばすスマートな書き方

これはいくつかの書き方があるようで、istをstd::istreamのインスタンスとして、 ist.unsetf(ios::skipws);とした上で、ist >> c(ただしcはistの文字型(通常char))で'\n'が現れるまで読みまくる ist.get()で'\n'が現れるまで読みまくる ist.getline(buf,…

std::iostreamのマルチスレッド対応はやっぱり糞くね?完璧に近い

一つ前のエントリでSafeStreamBufferの実装を明らかにするとともに、ストリームの状態を変更して元に戻す操作についてちょっと触れたわけだが すわなち <コード例1> // 基数とfillCharを変更 ios::fmtflags sv_f = ost.setf(ios::dec, ios::basefield); os…

【行単位で排他】std::ostreamのお手軽カスタマイズ【時刻付き】(2)

ソース ※↓↓↓「仮想メディア」なる語はGMA0BNが勝手に作ったものこれわ実質的にバッファなんだけども、std::streambufが管理するバッファと紛らわしいので区別を付ける意味で、 <SafeStreamBuffer.h> #pragma once #define LOG_DATE_FORMAT 2 class SafeStr…

【行単位で排他】std::ostreamのお手軽カスタマイズ【時刻付き】(1)

仕事においてC++の複雑さに遊ばれるのは時間の無駄以外の何者でもないが、遊びならおk 解決すべき課題 まず、基本事項として、std::ostreamへの書き込みはスレッドセーフだるしかしこれは「一つのストリームに複数のスレッドから非同期に書き込んでもハング…