
No.1ベストアンサー
- 回答日時:
何がしたいかいまいちわかりませんが、
とりあえず文字列をCStringに一回入れてください。
右側を消したいならTrimRight
特定文字列まで取得したい場合は、FindとLeftとかで。
#include "afx.h"
#include <iostream>
int main()
{
CString str;// ここに文字列を入れる
CString dst;
dst = str = "type = default";
std::cout << str;
// 右側を削除
dst.TrimRight("default");
std::cout << dst << std::endl;
dst = str;
// =までを取得
dst = dst.Left(dst.Find('=')+1);
std::cout << dst << std::endl;
return 0;
}
コードありがとうございます。
少し質問の意味がわかりづらかったですね・・・
まずは、複数行ある文字列から、
一行だけ取り出したいのです。
ちなみに使用言語は
C++/CLI です。
String::Trim を使ってみましたが、よくわかりませんでした。
No.3
- 回答日時:
GetPrivateProfileString/WritePrivateProfileStringを使えば一発なのですが、
C++/CLI で使えるかどうかは不明です。
No.2
- 回答日時:
こんな感じかな?
(ファイルがシフトJISの場合)
"Default"で探すと他の設定値が入ってる場合はまた作り直さないといけないから、重複がないと仮定して[Profile]の次の行の"Type = "を探してる。
using namespace System;
using namespace System::IO;
using namespace System::Text;
void ProfileTypeEmpty(String^ filename)
{
array<String^>^ lines = File::ReadAllLines
(filename, Encoding::GetEncoding("shift_jis"));
bool next_flag = false;
int i;
String^ str1 = "[Profile]";
String^ str2 = "Type = ";
for (i = 0; i < lines->Length; i++) {
if (lines[i] == str1) {
next_flag = true;
} else if (next_flag) {
next_flag = false;
if (String::Compare(lines[i], 0, str2, 0, str2->Length) == 0) {
// lines[i] = str2 + "Guest"; // Guestを設定する場合
lines[i] = str2; // 何も付けない場合
break;
}
}
}
File::WriteAllLines
(filename, lines, Encoding::GetEncoding("shift_jis"));
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
-
4
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
5
文字列の置換をCStringで(C++)
C言語・C++・C#
-
6
CString から LPCTSTRの型に変換
C言語・C++・C#
-
7
CStringをwchar_tに変換したい
C言語・C++・C#
-
8
CStringについて
C言語・C++・C#
-
9
画面を強制的に再描画させる方法
C言語・C++・C#
-
10
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
11
エディットコントロールのイベントハンドラ
Microsoft ASP
-
12
エディットボックスのフォントを変えたい
C言語・C++・C#
-
13
C++初心者です。 debug assertion errorについて
C言語・C++・C#
-
14
CString型の文字列連結について
C言語・C++・C#
-
15
CStringについて
C言語・C++・C#
-
16
CStringの中から数字だけの場合と、その他が含まれる場合を識別する方法
C言語・C++・C#
-
17
CStringの配列要素を関数で受け渡しするには?
C言語・C++・C#
-
18
MFCでコンボボックスを選択不可状態にしたい
C言語・C++・C#
-
19
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
20
VC++スレッドの正しい終了のさせかた
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
switch文のエラーについて
-
enumの値から定義名を文字列化...
-
VxWorks 6.4ソケット接続につい...
-
boost::lexical_castで16進数文...
-
空ENTERの判別
-
OpenCVでRAW画像(カラー)を開...
-
C言語のエラーを修正したい
-
vectorのイテレータを大小比較...
-
C++で、テキストファイルを一行...
-
構文エラーが出ているのですが...
-
C++での <iostream.h>と<iostre...
-
gccでコンパイル時のエラー
-
STLで、vectorのファイルへの書...
-
vectorの中にmap
-
リスト構造
-
CStringとString
-
【C++】ヘッダ内でstringを格納...
-
#define中の#のエスケープ
-
なぜ、C++の標準ヘッダをインク...
-
リモートデスクトップの接続元I...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++で文字列から任意の文字を...
-
なぜ、C++の標準ヘッダをインク...
-
switch文のエラーについて
-
VxWorks 6.4ソケット接続につい...
-
gccでコンパイル時のエラー
-
iostream インクルード時に発生...
-
#include "fstream.h"
-
【C++】ヘッダ内でstringを格納...
-
#defineの使い方について
-
構文エラーが出ているのですが...
-
C言語のポインターで詰まっている
-
std::map の const 修飾について
-
C++での <iostream.h>と<iostre...
-
enumの値から定義名を文字列化...
-
MingwでC++のソースがコンパイ...
-
違い
-
VC++で
-
C++で日本語の処理がしたいです
-
継承されたABのクラスのポイン...
-
C++でShowCursorを使いたい。
おすすめ情報