掲示板ランキング  ゲーム(真・女神転生)  ゲーム(水夏~SUIKA~)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.6540

テキストファイルの処理
投稿者---エル(2006/09/22 19:10:39)


先日はありがとうございました。
またご教授お願いします。

↓内容ののテキストファイルを読み込み
そのファイルの特定の列から列まで読み込むっと
決めれるようなプログラムを作りたいのですが
読み込んだファイルの列の指定のプログラムがわかりません。

内容で言うとファイルの4列目から6列目を抜き出したいっとすると
例(テキトウの数字です)
83739 593839 38239
28283 5049 382948
50393 40493 503493
4534 50393 50349
30493 539839 5049
2928 50349 05695
39239 5049 50349

4列目から6列目の数字

4534 50393 50349
30493 539839 5049
2928 50349 05695
のみを抜き取りさらにその中の列を抜き出したいです。
左一列のみ(4534 30493 2928)抜き取る(表示させる)
真ん中のみ(50393 539839 50349)抜き取るっといった感じです。

こうすればどうか など 
ご教授どなたかおねがいします。



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:テキストファイルの処理 6541 nano 2006/09/22 19:29:50
<子記事> Re:テキストファイルの処理 6543 かずま 2006/09/22 20:06:27


No.6541

Re:テキストファイルの処理
投稿者---nano(2006/09/22 19:29:50)


>内容で言うとファイルの4列目から6列目を抜き出したいっとすると

そのような場合、列ではなく4行目〜6行目という方が
一般的でありましょう。

また、ファイルの1行には必ず3個の数値がある、という仕様ですか?



この投稿にコメントする

削除パスワード

No.6542

Re:テキストファイルの処理
投稿者---エル(2006/09/22 19:55:02)


返信ありがとうございます。

数字は3つだけです。




この投稿にコメントする

削除パスワード

No.6543

Re:テキストファイルの処理
投稿者---かずま(2006/09/22 20:06:27)


次のプログラムのどこがわからないのか質問してください。
C:\tmp>type file
83739 593839 38239
28283 5049 382948
50393 40493 503493
4534 50393 50349
30493 539839 5049
2928 50349 05695
39239 5049 50349

C:\tmp>type prog.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
    int line1, line2, col, i = 0;  char buf[1024];

    if (argc != 4) return 1;
    line1 = atoi(argv[1]);
    line2 = atoi(argv[2]);
    col   = atoi(argv[3]);
    while (fgets(buf, sizeof buf, stdin) && ++i <= line2)
        if (i >= line1) {
            int j = 0;  char *p = strtok(buf, " \t\n");
            while (p && ++j < col) p = strtok(NULL, " \t\n");
            if (p) puts(p);
        }
    return 0;
}

C:\tmp>gcc -o prog prog.c

C:\tmp>prog 4 6 2 <file
50393
539839
50349

C:\tmp>



この投稿にコメントする

削除パスワード

No.6544

Re:テキストファイルの処理
投稿者---エル(2006/09/22 20:43:05)


while (fgets(buf, sizeof buf, stdin) && ++i <= line2)
if (i >= line1) {
int j = 0; char *p = strtok(buf, " \t\n");
while (p && ++j < col) p = strtok(NULL, " \t\n");
if (p) puts(p);
}
この処理部分がよくわかりません。
環境はC言語ではなくC++です。
それは関係ないかもしれませんがstdin strtok がよくわかりません。



この投稿にコメントする

削除パスワード

No.6545

Re:テキストファイルの処理
投稿者---かずま(2006/09/22 22:03:45)


> この処理部分がよくわかりません。

掲示板利用宣言の『ソースの添付は「HTML変換ツール」で字下げします。』
が守られていません。


> 環境はC言語ではなくC++です。

では、C++ で書くので、分からないところを質問してください。
字下げのないプログラムで質問された場合、返事はしません。
#include <iostream>
#include <sstream>
#include <cstdlib>

int main(int argc, char *argv[])
{
    if (argc != 4) return 1;
    int line1 = std::atoi(argv[1]);
    int line2 = std::atoi(argv[2]);
    int col   = std::atoi(argv[3]);
    std::string buf;
    for (int i = 0; std::getline(std::cin, buf) && ++i <= line2; )
        if (i >= line1) {
            std::istringstream is(buf);  std::string str;
            for (int j = 0; is >> str && ++j < col; ) ;
            if (is) std::cout << str << '\n';
        }
    return 0;
}



この投稿にコメントする

削除パスワード

No.6546

Re:テキストファイルの処理
投稿者---エル(2006/09/22 23:28:05)


かずま様 ご教授してもらってるのに気分悪くさせてすみません。
変換するのを忘れてました。

私はC++を始めて2ヶ月ぐらいなのでまだ iostreamやsstreamなど
まだ使いこなせません。 
まだ前書いていただいたほうがわかりやすいです。
理解するにはすぐにはちょっとわからないので勉強させていただきます。
ですが かずま様のように使いこなせるようになりたいです。

ちなみにC++なので↓のように直して実行させましたがエラーでした。
sstream.hがありませんっとでましたので探したのですが見つかりませんでした。
#include <iostream.h>
#include <sstream.h>
#include <cstdlib.h>






この投稿にコメントする

削除パスワード

No.6548

Re:テキストファイルの処理
投稿者---Blue(2006/09/23 00:02:51)


参考にどうぞ。
http://www1.kcn.ne.jp/~robe/cpphtml/html04/cpp04001.html


>環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
は守ってください。


この投稿にコメントする

削除パスワード

No.6556

Re:テキストファイルの処理
投稿者---かずま(2006/09/24 14:07:14)


> それは関係ないかもしれませんがstdin strtok がよくわかりません。

この掲示板のホームページに行くと、上のほうに「●目次 ■索引」とあり、
索引をクリックすると、stdin や strtok の説明のページに飛べます。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ