
No.4ベストアンサー
- 回答日時:
★アドバイス
・普通に『\n』を検索して『\0』に書き換えれば改行消去できます。
サンプル:
char buff[ 256 ];
char *find;
FILE *fp;
ファイルのオープン
:
while ( fgets(buff,sizeof(buff),fp) != NULL ){
if ( (find = strchr(buff,'\n')) != NULL ){
*find = '\0';
}
:
処理
:
}
:
ファイルのクローズ
回答ありがとうございます。
\nを検索し、それを\0に置き換えればいいのですか。
なんとなくイメージがつかめたような気がします。
頑張ります!
No.5
- 回答日時:
テキストファイルの1行が
abc
だとすると、fgets関数で読み取った内容は
'a', 'b', 'c', '\n', '\0'
です。
この中の'\n'を'\0'に変えれば、改行文字を除去できますね。
読み取った当該内容の長さ(strlen関数で求めます)は、'\n'までの4です。
'\n'の位置は、ゼロ始まりで3です。
そうすると、読み取った内容を格納している配列のどこを'\0'にすればよいでしょうか。
回答ありがとうございます。
文字列の長さを求めて後ろから2番目を置き換える方法もあるんですか。よく分かりました。
ちなみに僕は検索して置き換える方法を使いました。
http://park.geocities.jp/mantiskogane77/dxpage5. …
No.3
- 回答日時:
一番良いのはユニコードで読み込ませる方法ですが、それはちょっと難しいと思うので簡単に解決法を・・
例えばファイルの内容が
あいうえお
だったとして
char Str[ 1080 ];
という変数にファイル入力関数を使って保存したと仮定すると
あいうえお、つまり5文字ですが、日本語は2バイトなので配列では10の領域を使います。
したがって改行文字はこの10番目の要素の近辺に潜んでいることになります。
そういう場合は
Str[ 10 ] = '\0';
などとすれば良いでしょう。
Str[ 10 ] は10じゃなくて9とか8かもしれないのでそこは試してみてください。
回答ありがとうございます。
でも、1バイトの半角英数や2バイトのひらがななどが混じっているのでなかなか全体のサイズが分からないです・・・。
No.1
- 回答日時:
ご質問の趣旨が今ひとつ理解できません。
汚いとは何をした時の話でしょうか。
また、改行文字を消すも何も、御自分の
プログラムなら行を読込んだで、書込み
や何かをする時に、改行文字を送らない
だけの話ですが。方法を知りたいとは?
もしかして、御自分のプログラムでは無い
のでしょうか?
回答ありがとうございます。
その読み込んだ文字たちを縦にずらっと並べたとき、改行文字が・として表示され、てんてんだらけになってしまいます。それが汚く見えてしまいます。今まであまりファイル関係をプログラムしたことがないのでそれを直す方法を詳しく教えて欲しいです。お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
fgetsで拾われる改行文字を削除したい
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
改行文字を消す方法を教えて頂けませんか。
C言語・C++・C#
-
-
4
バッファとは何ですか
C言語・C++・C#
-
5
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
6
リストコントロール(MFC or API)の最後尾にアイテムを追加するには?
C言語・C++・C#
-
7
C言語でファイル名を取得
C言語・C++・C#
-
8
fgets関数のEOFの扱い方について
C言語・C++・C#
-
9
改行を読み飛ばす
C言語・C++・C#
-
10
昇順ソート
C言語・C++・C#
-
11
文字列から空白を取り除きたいのですが
C言語・C++・C#
-
12
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ラベル(スタティックテキスト)...
-
COBOLの改行
-
ソースコードの1行が長いとき...
-
コンボボックスの項目中に改行を
-
グレープシティのSPREAD...
-
エクセルVBAのprintステートメ...
-
エスケープ文字の復帰(¥r)と...
-
VBAのINPUTBOX内で、改行する方法
-
改行コード(CR/LF)の設...
-
ファイルから読み取った改行文...
-
秀丸の正規表現で複数行にわた...
-
VBSのADODB.Streamで先頭に「追...
-
C++でのCRLFについて
-
xmlファイル(UTF-8)への書き...
-
Excel VBAからBeckyを起動して...
-
C#の改行について
-
Objective-c 改行コードによる...
-
VBA テキストボックスの行数取得
-
JAVA System.out.println の ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
エスケープ文字の復帰(¥r)と...
-
ソースコードの1行が長いとき...
-
COBOLの改行
-
C++で空Enterの入力を判...
-
Excel VBAからBeckyを起動して...
-
【VBA】エクセルで最後の不要な...
-
エクセルVBA 文字列領域が不足...
-
テキストボックス行の桁数を制...
-
秀丸の正規表現で複数行にわた...
-
C言語の標準入力で改行しない方法
-
VBAでCSVをExcelに取り込む時に...
-
改行コード(CR/LF)の設...
-
グレープシティのSPREAD...
-
改行について
-
1行ごとに取得して、その改行...
-
ラベル(スタティックテキスト)...
-
コンボボックスの項目中に改行を
-
ファイルから読み取った改行文...
-
C# DataGridViewのセルを改行禁...
おすすめ情報