[c++] 文字列の末尾を切り捨てる

完全放置だったので,簡単な記事を投下.


string型の文字列sがあって,"abcde"がセットされている.

末尾3文字を切り捨てて,先頭2文字だけを残し,標準出力に表示したい.


で,こういうクソコードを書いてた.
// 前提:using namespace std;

string s = "abcde";
s[2] = 0;
cout << s << endl;

このとき出力されるのは"abde"であり,ostreamはヌル文字\0を検知したからといって停止しない点に注意.

coutの代わりにprintfを使えば望み通りの出力"ab"が得られる.
    string s = "abcde";
s[2] = 0;
printf("%s\n",s.c_str()); // ab



そもそも可読性の事を考えればresizeを使うべきである.

string s = "abcde";
s.resize(2);
cout << s << endl;


スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

tag : c++

[C++11] 範囲for文(foreachっぽい奴)に対応した自作クラスを作る

範囲for文とは,こういうもの.
vector<int> v = {2,3,4};
for (int e : v){
cout << e << endl;
}


範囲for文に対応した自作クラスを作る時に戸惑ったので,記事としてまとめる.


続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

RubyのTimeクラスが気になった


http://buyoh.hateblo.jp/entry/2017/01/04/140252で1つだけ気になったWAがあったので,
それについてピックアップします.

めんどくさがってTimeクラスを使って解答した問題です.
http://yukicoder.me/submissions/142820


続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

codevs for studentに参加しました。

codevs for studentに参加しました。
https://student.codevs.jp/


上位30%位以内を目標としていました。結果は29位(学生でない参加者を含む)。
まぁ良いんじゃないですか。


・ざっくりとした実装内容
・考察
・頑張ったとこ・ダメなとこ
・スパゲティ



続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

odingameのhypersonicに参加していました

…随分前の話ですが。

Githubにソースコードを公開しています。
https://github.com/buyoh/codingame_hypersonic


README.mdに殆ど書いてあるのですが、一応ここにも同じ内容のものを書いておきます。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

舞葉(ぶよう)

Author:舞葉(ぶよう)
github.io
はてなブログ(競プロ)

古い記事のソースコードは色分けしていないので、高機能テキストエディタに貼り付けたほうが見やすいかも。

検索フォーム
このブログについて
自分がつまづいた話題、なんとなく書きたいと思ったこと、ググったけど殆ど資料なかったぞオイ な話等をアップする予定。通りすがりでも、参考になっていただければと。プログラムの例外入力、メモリリークは責任負いません。投稿された記事は修正・削除する場合があります。
カテゴリ
タグ

HSP3アルゴリズムとデータ構造c++JavaRubyUnity画像解析C機械学習C#LinuxcodeIQKinectMinecraftTonyuSystemraspberrypiPythonHTML5音声制御Simulinkruby俺ルール通信制御Javascriptシミュレーション

counter-shinobi
固定記事
最新記事
最新コメント
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
1815位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
333位
アクセスランキングを見る>>