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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
文字列の置換をCStringで(C++)
C言語・C++・C#
-
-
4
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
5
コンボボックスのドロップダウンリストが表示されない
C言語・C++・C#
-
6
画面を強制的に再描画させる方法
C言語・C++・C#
-
7
MFC ダイアログ上のID取得について
C言語・C++・C#
-
8
C++で文字列の右端から特定の文字までの文字列を
C言語・C++・C#
-
9
エディットボックスの入力制限について
C言語・C++・C#
-
10
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
11
CString から LPCTSTRの型に変換
C言語・C++・C#
-
12
CStringについて
C言語・C++・C#
-
13
エディットボックスのフォントを変えたい
C言語・C++・C#
-
14
「fatal error C1189」を回避するには?
C言語・C++・C#
-
15
CStringをwchar_tに変換したい
C言語・C++・C#
-
16
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
17
ダイアログクラスのコントロールを別クラスで参照するには?
C言語・C++・C#
-
18
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
19
CString型の文字列連結について
C言語・C++・C#
-
20
charからLPTSTRへの変換方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#defineの使い方について
-
リモートデスクトップの接続元I...
-
openCVで動画が読み込めないエ...
-
iostream インクルード時に発生...
-
C++で縦の棒グラフ
-
std::map の const 修飾について
-
atlbase.h と afxwin.hの同時定義
-
wstringの内容を表示させたい
-
ヘッダーファイルがインクルー...
-
ファイル読み込みとmap処理
-
前回のクライアント側のプログ...
-
構文エラーが出ているのですが...
-
セグメンテーションフォルトが...
-
VC++ iostreamの不具合(?)
-
string型のフォーマット書式指...
-
テイラー展開とその精度について
-
コンパイルできません
-
C++ basic_ostreamの拡張
-
Cでのパケットキャプチャについて
-
mapの初期化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラーが出ているのですが...
-
VC++で文字列から任意の文字を...
-
enumの値から定義名を文字列化...
-
switch文のエラーについて
-
空ENTERの判別
-
なぜ、C++の標準ヘッダをインク...
-
【C++】ヘッダ内でstringを格納...
-
C++での <iostream.h>と<iostre...
-
#include "fstream.h"
-
#define中の#のエスケープ
-
JPEGやPNGが読めるLoadImage関数
-
リモートデスクトップの接続元I...
-
CStringとString
-
string型のフォーマット書式指...
-
std::map の const 修飾について
-
VHDLのsignedとunsignedの違いは?
-
このプログラミング誰か教えて...
-
構造体配列のvectorへの変換と...
-
指定した文字を削除したい
-
構造体に決められた文字列を入...
おすすめ情報