文字列操作について twitterAPIの利用

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
トィッター

文字列操作について twitterAPIの利用

#1

投稿記事 by トィッター » 12年前

ツイッターAPIについての質問です
現在ついったーAPIからのレスポンスに含まれているtextを表示させるプログラムをvisualstudio c++で作っているのですが
レスポンスのUnicodeの部分が '\\u3042'の様になっていてコンソール画面に表示しようとすると文字化けしてしまいます

原因を探ってみたところ
手打ちで\マークを一つ減らした文字列を正しく表示することはできたので
レスポンスに含まれる\\u3042を\u3042と置換できれば文字化けが解消されるのかなと思っているのですがうまくいきません

文字列操作は今回はじめて扱うのですが単純に"\\"の部分を"\"に置換しようとすると「終わり引用符がありません」と言われてしまいました
何かいい置換方法はないでしょうか?

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 文字列操作について twitterAPIの利用

#2

投稿記事 by みけCAT » 12年前

どういう置換ライブラリを用いているかわかりませんが、C言語/C++では\をエスケープシーケンスに利用しているので、
コード上では"\\\\"を"\\"に置換する、と書いてみてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 文字列操作について twitterAPIの利用

#3

投稿記事 by softya(ソフト屋) » 12年前

何らかの仕組みでエスケープされている気がしますが、安易に\\を解除して大丈夫でしょうか?

>文字列操作は今回はじめて扱うのですが単純に"\\"の部分を"\"に置換しようとすると「終わり引用符がありません」と言われてしまいました
>何かいい置換方法はないでしょうか?

C/C++の文字列中では\は\\と書かないとエスケープとして扱われます。
文字列処理があんまり得意でない方がC/C++は使わないほうが良いと思うんです。C/C++が得意なら別ですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る