[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/10 00:45 / Filesize : 237 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 23



1 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:49:22 ]
C言語の入門者向け解説スレです。
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 22
pc11.2ch.net/test/read.cgi/tech/1196489491/

教えて欲しいのではなく丸投げしたいならこちらへ
C/C++の宿題を片付けます 101
pc11.2ch.net/test/read.cgi/tech/1197132472/

692 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:03:00 ]
fopenの書き込みモードで第1引数(?)にC:\save.txtのように入れたのですが、指定したフォルダを探してもファイルがありませんでした。
エラーは出なかったのでおかしいと思って、読み込みモードで同じフォルダを指定すると読み込むことができました。
あれ?と思いそのフォルダを開いてみたのですが、ファイルは見当たりませんでした。
これはどういうことなんでしょうか?

693 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:04:03 ]
>>692
C:\\save.txt

694 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:05:43 ]
え?ファイルが無いのに読み込めたの?

695 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:08:09 ]
>>693
ありがとうございます!
ファイルを保存できました。

>>694
そうなんです
これはなぜだったんでしょうか?

696 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:35:54 ]
>>695
書き込みモードで起動したときにファイルを作成したと思う。

697 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:51:47 ]
>>692
別のフォルダでsave.txtというファイルをまず作ってくれ
それをお前さんが指定したフォルダにコピーできるか試してみてくれ
あと使っているOS教えてくれ
見えないというのはGUIを使っているということでいいのか?

698 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:13:51 ]
>>697
コピーできました。
OSはWindowsXPです。
GUIです。

D:\save.txtで書き込むとちゃんとファイルが出来ました。
指定したフォルダはCの中にあり、その奥に既にsave.txtがあったのが問題だったのでしょうか?
勝手に探してくれたということだと思うのですが。

699 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:25:38 BE:314515679-2BP(294)]
上のほうでfeof()で終了判定してるやつがいるけど、どこの素人だよ。
fscanf()がEOFを返したときに終了するのが普通。

700 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:08:51 ]
>>698
何も解決にならないでこんなこというのもなんだが
画面に絵とかファイル名とかが表示されてないだけで実際はファイルが生成される現象かな
Windows使ってる友人から以前聞いたことある
ブラウザからテキストの内容を見ることできると言っていたかな
力になれなくてすまん



701 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:16:15 ]
>>699
なら>>645のためにも
>>648よりスマートに書いてみろよw

702 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:36:51 BE:29954423-2BP(294)]
feof()の仕様って欠陥だろ。
なんでこんな使いどころのない関数があるんだよって感じ。

703 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 23:39:32 ]
エラー時に、ファイル終端に到達したのか
エラーが発生したのかチェックするために使うんじゃね。

704 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:05:44 ]
バイナリファイルはfeofで、特に他では使うなとか聞いたな

705 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:07:24 ]
>>704
それを言ってた奴は馬鹿。

706 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:10:05 ]
読み込みエラーが発生して、ずっとエラーから復帰できなかったら、
永遠にファイル終端に達しないから、エラーチェックしないと feof は危険。
しかし、そのエラーチェックでファイル終端も分かるから・・・。

707 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 10:00:41 ]
feofが単独で存在するのは読まずにチェックすることがあるからで、
読んでるのなら使うことはないな。

708 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 16:03:33 ]
まあ、読まないとEOFフラグセットされないわけだが

709 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:44:54 ]
0バイトのファイルを開いた直後の状態でもEOFではないでしょうか?

710 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 22:46:43 ]
ではない



711 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 00:44:18 ]
別に読むのがライブラリで自分が読まないケースだってあるんだよ

712 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 02:27:56 ]
>645 は1行あたりのデータ数がまちまちなんだが、そもそも
>2次元配列にいれる
っていうルールはどんなんだ?

713 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 02:41:23 ]
連投嫌われる?
聞きたい事いいいいっぱいあるです・・・。

714 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 02:49:36 ]
重要度の高い順に少しずつ質問すればいいと思うよ。

715 名前:713 mailto:sage [2008/01/10(木) 02:57:50 ]
じゃぁひとつだけ><

ソケット通信用のIOを得たときや、
open などのシステムコールを使って
ファイルディスクリプタを得た時など、
これらのリソースが正数型で返されますが、
この返り値は単なる確保したIOリソース用の
管理用番号みたいなモノと考えて良いのでしょうか?
また、もしそうならば、同一の正数値を指定さえすれば、
同じリソースに対して操作が可能なのでしょうか?

716 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 03:02:50 ]
>>715
open()の度に更新されるから、無理。勿論、close()しない限りは変わらないが。
# 例外は、stdin, stdout, stderr, stdaux相当のディスクリプタ。

717 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 03:17:54 ]
>>716さん
レスありがとうございます!

>open()の度に更新されるから、無理。
これに関してはもちろんわかっています。
ただ、返り値自体がどの範囲でどういった形で、
有効なのかが解らなかったもので…。
(IOを得るのにポインタとかで操作しないのかなー?と思ったのです。)

同じプロセス上から同じ値で参照した場合。
という意味で書きました。解りにくくてすみません…。

でも
>勿論、close()しない限りは変わらないが。
ということは715は合ってると考えていいですよね?

># 例外は、stdin, stdout, stderr, stdaux相当のディスクリプタ。
参考になります!

718 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 03:19:37 ]
訂正です。

誤:ということは715は合ってると考えていいですよね?
正:ということはclose()しない限りは715は合ってると考えていいですよね?

結果的に連投になってしまいましたすみません><

719 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 03:30:02 ]
>>718
同じプロセス上でopenしたままの記述子なら同じ。
というかそうじゃないと全てのIOが出来ない。

720 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 04:17:52 ]
char array[256];
と宣言したら
sizeof(array);
で256が返ると思います。でも、

void print_arraysize(char *array) {
  printf("%d",sizeof(array));
}

というようにするとポインタのサイズが返ります。
呼び出される関数側から配列のサイズを知る方法はありますか?



721 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 04:22:46 ]
>>720
Cでは無理です。諦めて、その関数にサイズも渡すしかありません。

722 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 12:21:11 ]
>>720
構造体の中に配列入れて構造体を引数にすれば、関数に配列を渡せる。
ただ、関数を呼ぶときに構造体の中身の全コピーが作られるので、激しく無駄。

配列の要素数を1つ多めに作っておいて、そこに目印となる値を入れておいて、
関数側で数えるという手もある。

けど結局はfunction( array , sizeof(array) )のようにして呼び出す
関数を作るのが一番かと。

723 名前:デフォルトの名無しさん [2008/01/10(木) 13:52:06 ]
自然数n = 10, r = 0, 1, . . . , 10 に対してnCr を出力するプログラムを教えてください。もしくはそれが載ってるサイトを教えてくださいm(__)m

724 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 13:55:15 ]
>>723
C/C++の宿題を片付けます 102代目
pc11.2ch.net/test/read.cgi/tech/1199515728/

725 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:23:44 ]
くだらない質問なのですが
Cで

static int hoge;
int static hoge;

の違いって、前者が大域変数になって
後者が関数内で静的な、値を保持しつづける関数になるってことですか?

726 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:26:52 ]
違う。
staticのような修飾子と型名は順不同というだけ。

727 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:28:17 ]
>static int hoge;
>int static hoge;

その2つは一緒

>前者が大域変数になって
>後者が関数内で静的な

それは宣言する場所で変わる
関数の外で宣言すれば大域
関数の中で宣言すれば関数内のみ

728 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:39:05 ]
関数内でも大域にならない?

729 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:44:34 ]
寿命はそうだがスコープは地が宇部

730 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:49:33 ]
なんで意味合いの違うものに両方staticなんて割り当てたんだろうな。
ファイルローカルはexternに対してinternalとかにすりゃよかったのに。



731 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:56:39 ]
C++では無名名前空間で対処したな。

732 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:05:53 ]
>>725ですが
ちょいとまだ把握できてないです

void main(){
int hoge[400000];だとアウトで
static int hoge[400000]; だと領域が確保できて

}

教えてくれた人が「static使うと、たくさん取れるよ」と言ってくれたので調べたのですが
どうもそういうことが見当たらなくて「静的な」とか。

上のような使い方は間違ってますか

733 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:11:25 ]
それは、static つけないとスタック領域を使うし、
スタック領域は他と比べるとかなり小さいから。

まあ恒久的なプログラムじゃなくて、一時的な使い捨てプログラムのときはそうやることもある。

734 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:32:40 ]
つまり、staticつけると
大域変数と同じところのメモリ領域を使うということですか。



735 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:02:25 ]
そゆこと

736 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:08:02 ]
了解しました!

737 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 02:32:24 ]
>>733
メモリ制限厳しい組込みとかだと普通にやるよ。
まぁでもソコまでだと、外部変数のバッファを使いまわしてチューニングする方が多いかも。
そんなんやりたく無いんだけどね・・・ハードコスト削減には勝てんわ。

738 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:09:17 ]
音声出力のソースを作っています。
以下のソースで、ファイルは出力されるのですが、音声が出てきません。
どこを修正すればよいか教えていただけませんか?

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE 22050*5
#define OFFSET 23
int main(int argc,char *argv[])
{
FILE *fp;
short int inbuf[SIZE];
short int outbuf[SIZE];
int i,f,f0,amp,PI;
f = 440;
f0 = 11050;
amp = 5000;
if((fp = fopen("test-sound-16-22.wav", "rb")) == NULL ) {
printf("ファイルオープンエラー\n");
exit(EXIT_FAILURE);
}

739 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:10:09 ]
続き

fread(inbuf, sizeof(short int), SIZE, fp);
fclose(fp);
for (i=OFFSET; i<200; i++)
printf("%d, ",inbuf[i]);
printf("\n");
for (i=0; i<OFFSET; i++)
outbuf[i]=inbuf[i];
for (i=0; i<(SIZE-OFFSET); i++){
outbuf[i+OFFSET] = amp * sin(2*PI*i*(f/f0));
}
for (i=(SIZE-OFFSET); i<SIZE; i++)
outbuf[i]=0;
if((fp = fopen("testfile2.wav", "wb")) == NULL ) {
printf("ファイルオープンエラー\n");
exit(EXIT_FAILURE);
}
fwrite(outbuf, sizeof(short int), SIZE, fp);
fclose(fp);
return 0;
}


740 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:15:12 ]
>>738

音声を出力するところがどこにもないじゃん。




741 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:15:13 ]
出力された音声はどんなふうになってる?
あとsin()の中intになってないか?

742 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:15:43 ]
音声→音声ファイルね

743 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:25:55 ]
>>738
PIの初期化してないじゃん。ちゃんとデバッグしてんの?

744 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:29:16 ]
そーだ、それも書くの忘れてたw

745 名前:738 mailto:sage [2008/01/12(土) 13:29:36 ]
これとほぼ同様のソースで、2倍の周波数(以下のソース)で出力するものは、
きちんと出力されて、音声も出ています。
正弦波の合成はなぜか出来ない・・・

>> 740
音声ファイルを出力するところがないとは?音声ファイルは出力されていますが・・・

>> 741
出力された音声ファイルは何も発音がありません。
ファイルのサイズはきちんとあるので、データは自体は出力されていると思うのですが・・・

for (i=0; i<(SIZE-OFFSET)/2; i++) {
outbuf[i+OFFSET]=inbuf[i*2+OFFSET];
}
for (i=(SIZE-OFFSET)/2; i<SIZE; i++)
outbuf[i]=0;

746 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:29:48 ]
math.hにPIが定義してあるのかとおもったが、そうでもないな

747 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:30:48 ]
とりあえずPIの定義と、sin()の2を2.0にしてみ

748 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:38:51 ]
何も言わずにコピペだとマルチうぜーとか言われそうなもんだけど、ここの住人は優しいんだな

749 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 13:53:05 ]
>>745
デバッガで変数の値見ながら実行すればすぐに分かりそうなもんだけど。

750 名前:738 mailto:sage [2008/01/12(土) 14:09:29 ]
解決できました。皆さんありがとうございます。



751 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 06:12:14 ]
構造体で
氏名
年齢
住所
が入る変数を宣言しその構造体の配列を10人分用意しループで順番に入力してもらい氏名、住所、年齢に
空ENTERが入るとループを終了するということをしたいのですが。

全ての項目に空ENTERが入力されるとループを終了するという所をどのように書けばいいのかわかりません。
教えて下さい。


752 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 06:37:02 ]
>>751
空ENTERが入力されたかどうか判別するプログラムは作れるのか?

753 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 10:41:06 ]
>>751
氏名をfgets関数で入力し、strlen関数で氏名の文字数を求め、それがゼロだったら終了

754 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 12:34:26 ]
fgetsってファイル関連の関数じゃないの?
文字入力として使えるの?

755 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 12:37:19 ]
えー

756 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 12:43:11 ]
>>754
っ stdin

757 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:34:55 ]
printf()とかputs()とかscanf()とか全部廃止して、f****()に統一すりゃいいのに。
ストリームの概念が理解しやすくなる。

758 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:48:56 ]
f***()とか全部廃止してopen/close/read/writeにすれば良いのに。
ディスクリプタの概念が理解しやすくなる。

759 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:54:48 ]
もう開く/閉じる/書く/読むでいいよ。

760 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:56:07 ]
それなんてinterface?



761 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 14:14:31 ]
LISP だと以下のようにして定義できるが

(defun 開く (file-name mode &optional perm) ...)
(defun 閉じる (file-desc) ...)
(defun 書く (file-desc buff buff-size) ...)
(defun 読む (file-desc buff buff-size) ...)

まぁ, スレ違いだわな


762 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:50:32 ]
スレ違いに値しますが、どなたかtabキー送り幅の設定方法を教えて下さい
8マスから4マスに変えたいです

763 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:51:57 ]
>>762
環境による。また、アプリケーションの設定にもよる。

764 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:52:18 ]
スレ違いすぎるwww
エディタによる、いやそもそもエディタの話なのかも知らんが

765 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:52:22 ]
それは表示する側の問題だろ。Cの範疇じゃ無理。
使ってるOSと端末くらい書け。

766 名前:デフォルトの名無しさん [2008/01/14(月) 00:21:01 ]
教えてください


int main(void)
{

char *c1;

{
char *c2;

c1 = StoA(1000);
c2 = StoA(2000);

printf("c1 : %d\n", c1);
printf("c2 : %d\n", c2);

}

return 0;

}

このプログラムを実行すると、 なぜかc1の値がc2の値と同じになってしまします。

なぜなのか教えてください。

767 名前:デフォルトの名無しさん [2008/01/14(月) 00:22:24 ]
***追記***

ちなみにStoA関数は数値を文字列に変換する関数です。

768 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:22:35 ]
StoAって何だよ

769 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:23:33 ]
StoAの中身書いてないわろた

770 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:24:04 ]
どうみてもStoAが悪いだろw



771 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:35:00 ]
どうみてもStoAが悪い。
あと
>printf("c1 : %d\n", c1);
>printf("c2 : %d\n", c2);
%sちゃうのか?

で、同じ数値になるってところからサイコメトリーすると、
グローバル変数かローカル変数辺りの配列のポインタを返してると見た。
コール時にバッファ渡すか、StoAでmallocしてmainでfreeするかしたまい。
StoAを作るのが目的でないならsprintfかitoaでも使え。(個人的にはsprintf)

最後に、C言語で数値を文字列に変換する関数は「ItoA」か「ItoS」な。
StoAだと何してんだか訳分からん。

772 名前:デフォルトの名無しさん [2008/01/14(月) 00:42:07 ]
すんません%sでした"汗

StoAはshort型からアスキーコードに変換する関数です。

int main(void)
{
char *c;
c = StoA(123);
printf("%s\n", c);

return 0;
}

だと正常に動きます。


773 名前:デフォルトの名無しさん [2008/01/14(月) 00:44:08 ]
mainの中にあたらしいブロックを作ってその中で*c1をつかうのがなんかしらダメなんじゃないかなと思うんですが。

作るのが目的ではなくてなぜこうなるのか説明するのが目的なのでよろしくおねがいします。

774 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:45:06 ]
いいからStoAの内容書けよ

775 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:46:24 ]
>>772
んなこた良いからさっさとStoAのソースを貼れwww

776 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:48:09 ]
StoAのソースコードは守秘義務の関係上公の場に貼ることは出来ません。
無茶な要求をしないでください。もう少し常識をわきまえて。

777 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:48:59 ]
じゃあ分かりません帰ってください

778 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:49:16 ]
説明するのが目的なのか、説明してもらうのが目的なのかはっきりして欲しいな

779 名前:デフォルトの名無しさん [2008/01/14(月) 00:51:35 ]
>>776
その通りです。

ありがとうございます。

>>778

説明するのが目的なので分かりやすく説明してもらえると光栄です。

780 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:55:23 ]
とりあえず、StoAのソースを貼る気がないのなら終了で。



781 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:56:15 ]
>>779
c1 = StoA(1000);
c2 = StoA(2000);
printf("c1 : %s\n", c1);
printf("c2 : %s\n", c2);

↑で同じ値が出るんだろ?多分両方2000か?
c1 = StoA(1000);
printf("c1 : %s\n", c1);
c2 = StoA(2000);
printf("c2 : %s\n", c2);
これで同じになるか試してみ。
違う値になるようなら、多分StoAがstatic変数かグローバル変数のバッファ使ってる。
printf("%p, %p\n", c1, c2);
で同じ値が出てくるはず。

そうじゃなきゃ、自分でデバッグしてくれ。
ソース無しじゃお手上げ。


782 名前:デフォルトの名無しさん [2008/01/14(月) 01:14:31 ]
正直いいますと今手元にソースが無いのでかけませんが、覚えてる範囲で流れを書きます。

処理@
引数の桁数を調べる
(引数が12345ならiDigに10000を入れておく)

処理A
pStrにcStrのアドレスを入れて
数値を文字コードに変換して*pStrに格納。

処理B結果をかえす。

ちなみにcStrはstatic変数です。

わかりにくくてすいません"汗






783 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:16:48 ]
StoAがわかったら説明してやんよ

784 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:18:02 ]
そら二回目の呼び出しで cStr の内容を上書きしてるから
同じのが表示されるの当たり前でんがな。

バッファをローカルで持って、引数で渡すといいよ。

785 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:36:21 ]
ある時間,たとえば10時20分50秒になったらAの動作を行うというプログラムはどう作れば良いですか

ひとつの方法としてtimeを使って,現在の時間を取得し続け時間になれば動作する方法
これだとずっと時間を取得し続けるので,良くないような気がするので・・・

ちなみに環境はFedora,gccです.

786 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:39:22 ]
cron に投げれば

787 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:43:59 ]
sleep(指定時間-現在の時刻)
すりゃいいだろ。
ま、ふつーにcron使えと。

788 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:47:34 ]
本人の振りしてあおるのもうやめろよwwwみんな耐性ついてるんだしwwwww

789 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:48:44 ]
>>786
ありがとうございます.ちょっと調べましたがcronは使えそうです.
あとは,外部から動作する時間の変更が行われるので,それが出来るか調べて見ます.

自分のプログラムだけで実現できると一番良いですが・・・

790 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:51:44 ]
sleepの方法も考えましたが,時間の変更を行うことがあるので実現しにくいと思いやめました
やはりcronを使わないとしたらこの2つですかね



791 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 02:02:11 ]
コンソールアプリケーションの画面を何も表示されていない真っ黒の画面に
戻したいんですが方法を教えてください。

792 名前:785 mailto:sage [2008/01/14(月) 02:04:17 ]
cron調べましたが使えそうです
ありがとうございました






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef