C言語でテキストファイルを開業したい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
mint

C言語でテキストファイルを開業したい

#1

投稿記事 by mint » 16年前

教えてください。

次のような一行で数字の間にスペースがあるテキストファイルがあります。

12 23 23 53 54 43

これを次のように2列ずつ改行したいのですがやり方がわかりません。

12 23
23 53
54 43

dic

Re:C言語でテキストファイルを開業したい

#2

投稿記事 by dic » 16年前

まず、スペースの空いた一行を配列に格納するのが分からないのか
配列に格納後、2列ずつファイルに出力するアルゴリズムが思い浮かばないのか

何ができないか、どこでつまづいてるかを書いてくれると回答者もでてきそうです

conio

Re:C言語でテキストファイルを開業したい

#3

投稿記事 by conio » 16年前

-----------------------------------------------------------------------------------------
①数字が並んだテキストファイルAを、2行で改行するようにしてテキストファイルBに書き出す。
②数字が並んだテキストファイルAを読み込み、2行で改行するようにして実行画面に表示。
③数字が並んだテキストファイルAを、2行で改行した状態に変更したい。
-----------------------------------------------------------------------------------------

表現が曖昧なので、上記のどれなのか、もしくは上記以外の別の処理なのか分かりません。
普通に改行したいのであれば、「テキストファイルを開いてエンターキーを押せば改行できます。」
という回答もアリになってしまいます。

mint

Re:C言語でテキストファイルを開業したい

#4

投稿記事 by mint » 16年前

表現があいまいでした。すみません。

数字が並んだテキストファイルAを、2行で改行した状態にしたいと考えていますが、直接テキストファイルを開いてエンターキーを押すにはデータ量があまりに多すぎるためできません。

23 32 33 23 43 53 ・・・のような一行を配列に格納するやり方と、配列に格納後、2列ずつファイルに出力するアルゴリズムが 分かりません。

もしくは他の方法でもよいのですが、教えてください。よろしくお願いします。

たかぎ

Re:C言語でテキストファイルを開業したい

#5

投稿記事 by たかぎ » 16年前

> 23 32 33 23 43 53 ・・・のような一行を配列に格納するやり方と、配列に格納後、2列ずつファイルに出力するアルゴリズムが 分かりません。

そんな難しく考える必要はありません。
#include <stdio.h>

int main(void)
{
	int n = 0;
	int c;

	while ((c = getchar()) != EOF)
	{
		if (c == ' ' && ++n == 2)
		{
			n = 0;
			c = '\n';
		}
		putchar(c);
	}
	return 0;
}
こんな感じで十分でしょう。

閉鎖

“C言語何でも質問掲示板” へ戻る