読者です 読者をやめる 読者になる 読者になる

文字列処理できない雑魚

それは私のことだ
C++のコードでは暗黙にusing namespace stdです,あとmain関数は省略

おおよそここから引用しました*1

復習

Cで文字列を扱うとき

#include "stdio"
char s[100];
scanf("%s", s);

のようにする

C++バージョン
#include <string>
string str;

C++では終端をnull文字で管理するのではなく文字数で管理するらしい,
よって最初に文字数を決める必要はないので柔軟

使えそうな関数

stringではいろいろ関数が使える
ここでは競技プロコンで使えそうなやつを列挙

#include <string>
string str = "hoge";
int a  = 0;
bool b;

a = str.length(); //aに文字列の文字数を格納
a = str.size();   //上と宣言まで同じ 使い分けはよくわからない
b = str.empty();  //空の文字列かどうかを判定
str.reserve(new_size);  //文字列をnew_sizeに変更(new_sizeはsize_type型)

ちなみにsize_type型ってのは大抵size_t(unsignded int)らしい*2

文字列から数値への変換はいろいろありすぎて書くのが面倒くさい
<cstdlib>のatoiとか<sstream>のisstringstreamとかいろいろあるらしいが詳しい使い方はよくわかりません*3

おわり

なんかしらんが最近他の高専の方々とつながりができた,たのしい