①エスケープシーケンス \n と ②そのデコード結果であるLF、③実際の改行コード(プラットフォームにより、LF、CRLF、CRのいずれか)の区別を意識的にしないと議論が混乱すると思う。
cpprefjpの>>761 の説明に違和感があるのは、raw文字列リテラル内ではエスケープシーケンスのデコード処理はされないのに、エスケープシーケンス \n で説明している点にもあると思う。773も同様に①と②を同義語として使っているように見えるが、そこは本来は区別すべきではないか。
C++相談室 part166
774デフォルトの名無しさん (ワッチョイ 9756-RIfS)
2025/12/13(土) 10:53:09.54ID:+GybsC590775デフォルトの名無しさん (ワッチョイ 9756-RIfS)
2025/12/13(土) 10:59:50.95ID:+GybsC590 >>773の最後の例でいえば、raw文字列リテラルの仕様として、改行コードがLF(エスケープシーケンス \n ではない)に変換されるという記述は特にないと思う。
776デフォルトの名無しさん (ワッチョイ 9756-RIfS)
2025/12/13(土) 11:05:17.48ID:+GybsC590 実際には、最初にソースコード上の改行コードが一律にLFに変換され、トークン分割の段階でraw文字列リテラル中の改行コードと判明した場合には(>>763)、それに応じた処理をするんだろうが、LFからさらに変換したりはしないというのはありそうなことではある。
だけど、それは改行コードの正規化(?)に付随してそういう処理になっていることが多いというだけのことであって、raw文字列リテラルの仕様の一部としてそうすべきと規定されているわけではないよねってことだと思うんだが。
だけど、それは改行コードの正規化(?)に付随してそういう処理になっていることが多いというだけのことであって、raw文字列リテラルの仕様の一部としてそうすべきと規定されているわけではないよねってことだと思うんだが。
777デフォルトの名無しさん (ワッチョイ 9756-RIfS)
2025/12/13(土) 11:07:53.08ID:+GybsC590 NGワード規制回避のため分割レスになって申し訳ない。何がNGワードだったんどろう……、
778デフォルトの名無しさん (ワッチョイ ffa1-txSl)
2025/12/13(土) 18:42:47.60ID:WPESu7ut0 >>775
↓これがどのプラットフォームのエディタで書いてビルドしてもequality 1 2がtrueになるのなら
ソースコードの改行(CR LF or LF)が「"\n" に変換されている」としか言いようがないような……
std::string text1 = R"(begin
a,
b,
c
end)"; // "\n" を含まない文字列定義
std::string text2 = "begin\na,\nb,\nc\nend"; // "\n" を含む文字列定義
std::cout << std::boolalpha << "equality 1 2: " << (text1 == text2) << std::endl;
んまー説明のための新しい改行表現を定義したいなら止めはしませぬが……
↓これがどのプラットフォームのエディタで書いてビルドしてもequality 1 2がtrueになるのなら
ソースコードの改行(CR LF or LF)が「"\n" に変換されている」としか言いようがないような……
std::string text1 = R"(begin
a,
b,
c
end)"; // "\n" を含まない文字列定義
std::string text2 = "begin\na,\nb,\nc\nend"; // "\n" を含む文字列定義
std::cout << std::boolalpha << "equality 1 2: " << (text1 == text2) << std::endl;
んまー説明のための新しい改行表現を定義したいなら止めはしませぬが……
779デフォルトの名無しさん (ワッチョイ ffa1-txSl)
2025/12/13(土) 18:53:55.47ID:WPESu7ut0 それはそうとしてRAW文字列とプリプロセッサとの関係で試したら(漏れにとって)奇怪なことがわかりた……
↓次のコードがビルドが通ってequality 2 5 がtrueになる……
// プリプロセッサを通す場合(3)
// マクロ定義が複数行に渡る場合、本来は \\ で行継続せねばならないが、RAW stringの行継続は特別視
#define TEXT_DEFINITION R"(begin
a,
b,
c
end)"
std::string text5 = TEXT_DEFINITION;
std::cout << text5 << std::endl;
std::cout << std::boolalpha << "equality 2 5: " << (text2 == text5) << std::endl;
これはさすがにプリプロセスの段階でプリプロセッサが R"(...)" を認識しないとできない芸当……
(プリプロセッサの普通の挙動ならTEXT_DEFINITION の定義内容は R"(begin(ここで日記は終わってゐる
にならねばおかしいはず
ソ〜ス: https://ideone.com/AJcmZT
↓次のコードがビルドが通ってequality 2 5 がtrueになる……
// プリプロセッサを通す場合(3)
// マクロ定義が複数行に渡る場合、本来は \\ で行継続せねばならないが、RAW stringの行継続は特別視
#define TEXT_DEFINITION R"(begin
a,
b,
c
end)"
std::string text5 = TEXT_DEFINITION;
std::cout << text5 << std::endl;
std::cout << std::boolalpha << "equality 2 5: " << (text2 == text5) << std::endl;
これはさすがにプリプロセスの段階でプリプロセッサが R"(...)" を認識しないとできない芸当……
(プリプロセッサの普通の挙動ならTEXT_DEFINITION の定義内容は R"(begin(ここで日記は終わってゐる
にならねばおかしいはず
ソ〜ス: https://ideone.com/AJcmZT
780デフォルトの名無しさん (ワッチョイ 9f79-+7gk)
2025/12/13(土) 21:05:36.09ID:jWXCFmDk0 実行ファイルの内部でどういうコードが埋め込まれるとか興味ないのかな
>>777は自分の書き込みと他を比較したりしないのかな
>>777は自分の書き込みと他を比較したりしないのかな
781デフォルトの名無しさん (ワッチョイ 1f51-kDYN)
2025/12/14(日) 14:42:29.18ID:71RgSOjf0 VSでC++をやっている。ファイルのバイナリのランダムアクセスをしているんだけど、ファイルの長さを短くしたくて、
ftruncateとか試すんだけど、なさそう。VSでファイルの長さ変更ってどうしたらいい?
ftruncateとか試すんだけど、なさそう。VSでファイルの長さ変更ってどうしたらいい?
782はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e332-f85/)
2025/12/14(日) 14:48:40.58ID:SWyrOIpz0 >>781
Windows には SetEndOfFile という API がある。
現在位置をファイル終端ということにするという機能なので事前に SetFilePointer で必要な位置に移動してから SetEndOfFile を使えば良い。
Windows には SetEndOfFile という API がある。
現在位置をファイル終端ということにするという機能なので事前に SetFilePointer で必要な位置に移動してから SetEndOfFile を使えば良い。
783デフォルトの名無しさん (ワッチョイ 1f51-kDYN)
2025/12/14(日) 15:51:40.12ID:71RgSOjf0 >>782
とりあえずビルドは成功した。ありがと
とりあえずビルドは成功した。ありがと
レスを投稿する
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場”★3 [♪♪♪★]
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★4 [蚤の市★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★7 [お断り★]
- 馬鹿野郎うるせぇぞこの野郎
- 【速報】高市早苗、文春砲wwwwwwwwwwwwwwwwwwwwwwwwwwwww [339035499]
- 冷たいほうが美味しい食べ物wwwwwwww
- 女子小学生すこすこスレッド 三👶🔪 🎒👧🏡
- なんか最近眠れない
- 義妹「マスオ兄さん、今日はみんな出かけてて誰もいないわよ」義兄「えぇ!?マズイよワカメちゃん!」
