A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
たぶんfscanfで書くならこんな感じですね。
カレントにあるinput.txtを読み込んでoutput.txtに書き出します。
ただし、4文字数値、1文字アルファベット、4文字数値の書式以外は
正しく動作しないので、あまり良いプログラムではないと思います。
#include <stdio.h>
int main(int argc, const char *argv[])
{
FILE *infp = fopen("input.txt", "r");
FILE *outfp = fopen("output.txt", "w");
int num1, num2;
char alpha;
if(infp == NULL || outfp == NULL)
return -1;
while(fscanf(infp, "%04d%c%04d", &num1, &alpha, &num2) != EOF){
fprintf(outfp, "%04d%c%04d\n", num1, alpha, num2);
}
fclose(infp);
fclose(outfp);
return 0;
}
でもテキストファイルをそのままコピーするなら、どんな書式でもいいように
fgetsとか使ったほうがいいと思います。
その場合はこんな感じ。
#include <stdio.h>
int main(int argc, const char *argv[])
{
FILE *infp = fopen("input.txt", "r");
FILE *outfp = fopen("output.txt", "w");
if(infp == NULL || outfp == NULL)
return -1;
char line[256];
while(fgets(line, 256, infp)){
fputs(line, outfp);
}
fclose(infp);
fclose(outfp);
return 0;
}
ちなみに、どちらも全角スペースを半角に変換しないとエラーになります。
あと、C++を指定されてますけど、なにかしらのクラス設計をされようとしていますか?
どんなクラスを作りたいのか書いていただければ、C++でどうするべきか
もうすこしアドバイスできるかもしれません。
# 上記のif文には、fclose漏れが起きる不具合がありますが、
# エラーチェックは説明の本質ではないため放置してあります。
No.2
- 回答日時:
1)ファイルを読み込みように開く。
エラー処理があるのが好ましい2)別のファイルを書き込みように開く。エラー処理があるのが好ましい
3)読み込みファイルから1文字読み込む
4)書き込みファイルに3)の文字を書き込む
5) 3),4) を読み込みファイルが終わるまで繰り返す
6) 1,2のファイルを閉じる
基本はこう。
で、
> 例:0123a4567のような文字列)
とかいう部分が、何をしたいのかがよくわかりません。
文字列にするには、3,4の「文字」の代りに「文字列」にする。
特定の条件の文字列を探すのなら、4を 「条件にあったものだったら~」にする。
> fscanf でしようとしてます。
なぜでしょう?fscanfだと好都合なことがあるのですか?
No.1
- 回答日時:
初心者のままでは解決は困難だと思いますので、まともな入門書を一冊読み、十分に練習を重ねることで、まずは初心者から抜け出してください。
初心者から抜け出したころには、やり方が分かるはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- 計算機科学 急ぎです、大学数学再帰の問題難しくてがわからないです。 以下の4つの文字列を連結して新たに生成できる 1 2023/05/17 20:11
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル内のデータを1行削除...
-
VBSで指定行に挿入
-
VC++6でfgets関数の変わりにな...
-
c言語 2つのファイルを行ご...
-
InternetReadFileで大きいファ...
-
C言語での改行コードの扱いにつ...
-
テキストファイルの文字列の削除
-
C言語 バイナリファイルの読み...
-
ファイルサイズ指定し、ファイ...
-
fgetsで2行目から文字化け
-
C言語 CSVファイルの読み込み
-
バイナリファイルをテキストフ...
-
fopenで開いたファイルのサイズ...
-
C言語でファイルから読み込みが...
-
【C言語】テキスト読み込みの行...
-
テキストファイルの行数を取得...
-
fopen(書き込みモード)でファイ...
-
C言語のfeof関数について質問
-
0x00をファイル出力
-
C言語初心者の質問失礼します。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
テキストファイルの行数を取得...
-
c言語 2つのファイルを行ご...
-
C言語での改行コードの扱いにつ...
-
VBSで指定行に挿入
-
改行までの一文字ずつのファイ...
-
【VB.Net】バイト型配列に読み...
-
freadとfwrite
-
巨大なテキストファイル(可変...
-
0バイトファイルの作成
-
fopenで開いたファイルのサイズ...
-
fopen(書き込みモード)でファイ...
-
winsock recvでの文字化け
-
ファイルサイズ指定し、ファイ...
-
fortranで文字列を読み込む際の...
-
【C言語】テキスト読み込みの行...
-
C言語での採番について
-
VS2010 MFC CStdioFileについて
おすすめ情報