プログラミングC: 投稿 14 – C / Cでのインポートおよびエクスポートファイル++
プログラミングプロセス中, 私たちはしばしば、ファイルにデータを読み書きする必要があります. この記事では、CおよびCを簡単にする方法をご案内します++.
注意: 以下の例では、, ソースファイルと同じフォルダに入力ファイルと出力ファイル.
例: チョーファイルINPUT.TXT, 最初の行は、で構成されてい 1 nが友人の数です, nは、各ラインの次のラインは、の名前であります 1 友人. OUTPUT.TXTファイルは、友人のリストを読み書きするシリアル番号が含まれて
INPUT.TXT | output.txtと |
---|---|
3 グエン·ヴァン·泉 グエン・ティ・ホン・アイン グエン・ヴァン・フン |
1.グエン·ヴァン·泉 2.グエン・ティ・ホン・アイン 3.グエン・ヴァン・フン |
コードC
#include <stdio.h> int main() { int n, i; char name[255]; // khai bao bien ten FILE *fi = fopen("input.txt", "r"); // mo file de doc FILE *fo = fopen("output.txt", "w"); // mo file de ghi fscanf(fi, "%d", &n); // doc so n tu file fi fgets(name, 255, fi); // loai bo dau xuong dong sau khi doc so n for(i = 0; i < n; i++) { fgets(name, 255, fi); // doc chuoi gom 255 ky tu tu file fi fprintf(fo, "%d.%s", (i+1), name); // ghi chuoi ra file fo } fclose(fi); // dong file fi fclose(fo); // dong file fo return 0; }
コードのC ++
#include <fstream> using namespace std; int main() { int n; string name; ifstream fi("input.txt"); // mo file de doc ofstream fo("output.txt"); // mo file de ghi fi >> n; // doc 1 so tu file getline(fi, name); // loai bo dau xuong dong sau khi doc so n for (int i = 0; i <n; i++) { getline(fi, name); // doc 1 dong tu file fo << (i+1) << "." << name << '\n'; // ghi 1 dong ra file } fi.close(); fo.close(); return 0; }
ファイルにデータを入力する方法?
その後は上記ファイルとそのように書かれています.
あなたが持っていると仮定 1 このようなINPUT.TXTファイル:
11 アブデル・マルティネス 5.5
20 マスアベラ 16
6 プラBabet 10.75
彼の創造 1 int型のID構造体Sinh_vienが含まれます, CHAR 10[50], 文字HO[50], ダブル日当;
と 1 配列構造体Sinh_vien SV[3]
SVされるファイルからデータを取得する方法を自問してみてくださいINPUT.TXT[1].ID = 11; SV[1].10 =「マルティネス”; SV[1].ホ=「アブデル」; SV[1].日当= 5.5
私がしようとすると、コードので、それは空白文字を取りました, 次のコードで自分のスペースを無視してみてくださいではなく、:
//char *の一時;
の
{
関数fscanf(ある, “%℃”, &(*(一時+ J)));
J + = 1;
}
同時に (*(一時+ J) == SPACE);
無料で(一時);
//
訪問教師は先生を受け取ることを期待します.
私がj = 0のために持っていた、この忘れられたレコードで
代わりに%cの%sを使いNHE.
関数fscanf(ある, “%D”, &sv.id);
関数fscanf(ある, “%S”, &sv.ten);
関数fscanf(ある, “%S”, &sv.ho);
関数fscanf(ある, “%D”, &Sv.Duje);
私はあなたの方法を試してみましたが、それは、IDの間にスペースを取り、彼らが間違った結果をすべき
だから、これを試してみてください:
関数fscanf(ある, “%D%S%S%D”, &sv.id, &sv.ten, &sv.ho, &Sv.Duje); // (コピーペーストNHE, %dと%sの間のスペース)
オリジナルとはまだ間違いました. あなたは電子メールを介してあなたのコードを送信することができます, あなたは私の家庭ではありません見ます? ありがとうNHE
fb.com/nguyenvanquan7826 NHEを経由して私と一緒にチャット.
私は、キーボードからプログラムの学生情報を作成しました,しかし、まだその番組情報がファイルに保存され、エクスポートされたとき、ファイルのエクスポート情報、彼らはC ++でとてもa.emコードを行う必要があります、あなたは私の先生を助けます,私はa.Cam折りたたみよありがとう!!!
それから私は唯一のファイルにエクスポート.
潘は、自分自身に質問をnguyenvanquan7826, どのように正しいC ++でファイル内の任意の場所、右. 感謝.
私は私のコードは、DC kのnを読み込み実行します, n = 0のテストを、それをプリントアウト, 彼はDCを実行している理由を決定した値とnを交換です?
あなたは、データファイルを持っている必要がありますNHE.
私はラが関数チェーンでファイルやデータINPUT.TXTを持っています:
X = 1;
Y = X + 3;
X = 12;
彼らは、ファイル内の各ロッドの文字列を呼び出すことができますどのようにいくつかの条件、その文字列の右または間違った表示をチェックして、プリントアウトして、すべての直流ファイルサーまで、次のシーケンスを確認するために、各文字列をチェックします?
P / S:
私は、ファイル全体の鞭各検査ですべてを行う関数のfgetsを使用したいです
一例では記事で私はあなたのすべての行を読んだことがあります.
あなたは偽のCのgetlineドは、各ラインを読んでいない必要があります.
また、取得する各ラインを読みます.
メインint型()
{
char型の声明[50];
FILEの*フィン;
フィン=のfopen(“INPUT.TXT”, “R”);
同時に (fgetsの(ステートメント, 50, 終了) != NULL)
{
プット(ステートメント);
int型のチェック= CORRECT(ステートメント);
もし(== 0をチェックします)
printfの(“この文は違法です”);
ほかに
printfの(“この文は有効です”);
}
printfの(“\N”);
リターン 0;
}
私はコードを書くが、それはヘタに到達するまで印刷する必要があります 50 KI TU各検査, あなたがチェックしたい場合でも、各行がで終わります ; スターコンテストの下に積まROIのMOIの絆によって洞をチェック
そう読んで、各ラインを読み、次にあなた.
はい、聞いてみましょう
パスカルからC ++に切り替えました
Pascalの場合は “INPUT.TXT” Ctrlキーを押しながらEnterキーを押すと、入力ファイルファイルが出力されます。. では、C ++でどのようにそれを行うのですか?
ありがとう
手動で開くだけ.
Cコードのrとwの意味を聞いてみましょう
読み書き.
Nguyenvanquan7826, なぜもう一度やったのか聞いてもいいのですが、なぜファイルを読み取って印刷するのですか?.
私はあなたの質問をよく理解していません.
Cho em hỏi là cái dòng fgets(名前, 255, ある); thứ nhất ý nghĩa của nó em đọc ko hiểu lắm,tại sao nó lại giống dòng đọc chuỗi từ File ạ.Em xin cảm ơn ạ
thì nó là đọc chuỗi từ file mà.