無題

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

無題

#1

投稿記事 by よっこ » 18年前

大学の課題です・・
キーボードから“stop”と入力するまで繰り返し文字列を読み込みファイルに書き込んでゆくプログラムを作りたいんですが・・・教えてください。お願いします!!!!

管理人

Re:無題

#2

投稿記事 by 管理人 » 18年前

え~最近いつも携帯でしかネットにつながらないので不便です(汗

課題についてですが

①ファイルオープンの仕方
②ループと条件ブレイクの仕方
③入力の読み取りの仕方
④ファイルへの書き込みの仕方

がわかればわかるはずです。
どの辺でつまってますか?

おためし

Re:無題

#3

投稿記事 by おためし » 18年前

#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <iterator>
template<typename I, typename O, typename P>
O copy_stop(I b, I e, O d, P p) {
while (b!= e) {
if (!p(*b)) throw "stop";
*d++ = *b++;
}
return d;
}
bool p(const std::string& s) { return s != "stop"; }
int main() {
std::istream_iterator<std::string> b(std::cin), e;
std::ofstream f("word.txt");
std::ostream_iterator<std::string> o(f, "\n");
try{ copy_stop(b, e, o, p); } catch (...){}
return 0;
}

しっぽ

Re:無題

#4

投稿記事 by しっぽ » 18年前

質問がアレなんで私もSTLで書こうかと一時は思いましたが、嫌味が
過ぎるので思いとどまりました。


EXE > RECORD.TXT とりダイレクトして使用してください。
#include<stdio.h>
#include<string.h>

int main(void){

	char buff[8];
	const char stop_keyword[/url] = "stop\n";

	while(fgets(buff, sizeof(buff), stdin)){

		if(strcmp(buff, stop_keyword) == 0)	return 0;

		printf(buff);
	}

	return 1;
}

管理人

Re:無題

#5

投稿記事 by 管理人 » 18年前

プログラムは解決されましたでしょうか?

課題を解くとき、解らない時は、少しずつ作ってみるといいですよ^^

まず、

ファイルオープンをするだけのプログラム

文字入力を受けるだけのプログラム・・・。

と。そして最後にくっつけると作りやすいですよ☆

閉鎖

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