ページ 11

無題

Posted: 2007年1月31日(水) 21:54
by よっこ
大学の課題です・・
キーボードから“stop”と入力するまで繰り返し文字列を読み込みファイルに書き込んでゆくプログラムを作りたいんですが・・・教えてください。お願いします!!!!

Re:無題

Posted: 2007年2月01日(木) 00:30
by 管理人
え~最近いつも携帯でしかネットにつながらないので不便です(汗

課題についてですが

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

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

Re:無題

Posted: 2007年2月01日(木) 18:36
by おためし
#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:無題

Posted: 2007年2月02日(金) 21:19
by しっぽ
質問がアレなんで私も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:無題

Posted: 2007年2月03日(土) 19:05
by 管理人
プログラムは解決されましたでしょうか?

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

まず、

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

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

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