【初心者歓迎】C/C++室 Ver.59【環境依存OK】

このエントリーをはてなブックマークに追加
785デフォルトの名無しさん
意図した通りに受け取れないのですが、なぜでしょうか。
「GCCではgetche」の行のprintf()をコメントアウトするとちゃんと取れるのですが


#include <stdio.h>

int main(void)
{
int for1inc = 0;
char userinput = 0;

for(for1inc=0; for1inc < 10; for1inc++)
{
printf("文字を入力 : \n (GCCではgetche()が使えず改行コードと共に入力されるので5回までしか入力不可) \n\n");
userinput = getchar();
printf("Your input is %c. ""%c"" ASCII code is %d. \n", userinput, userinput, userinput);
for( ; userinput; userinput--)
{
printf("%c", '.');
}
printf("\n");
}
return 0;
}
786デフォルトの名無しさん:2008/04/18(金) 09:32:34
>>778
>783の戯言はさておき、途中でエラーが発生したときの扱いが違う。
前者は書き込みに成功したバイト数が得られるが、
後者は1024バイト全てが書き込めたかどうかしか判らない。
787デフォルトの名無しさん:2008/04/18(金) 10:10:31
>>786 それが戻り値の違いなんでしょ。
788141:2008/04/18(金) 10:29:25
すみません。以下のコード、BCCでは一応正常にファイルから
読み込んで画面に表示してくれますが、VC++では表示してくれ
ません。プログラムで何か処理が抜けているんでしょうか?

#include "stdafx.h" // VC++の場合
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
int i;
double x,y;

ifstream fin;
fin.open("aaa.dat");

while(fin >> i>> x >> y) cout << i << ' ' << x <<' ' << y << endl;

fin.close();

// cin>>i; // VC++の場合
return 0;
}
aaa.datの中身(テキスト)
1 10.0 12.3
2 20.0 20.5
3 30.0 30.8
4 40.0 50.6
789デフォルトの名無しさん:2008/04/18(金) 10:39:04
↑名前の141、以前のもので意味はありません。
790デフォルトの名無しさん:2008/04/18(金) 11:04:56
VC9で普通に動いてるけど。
791デフォルトの名無しさん:2008/04/18(金) 11:14:42
メイン文で使っている*argv[]をユーザ関数内で使いたいので
ユーザ関数では仮引数をchar **a[]にしているのですが、実引数は何にすればいいのか分からないので教えて下さい
792デフォルトの名無しさん:2008/04/18(金) 11:15:46
>>791
argv そのまま渡せるように引数も同じ型にしとけよ。
793デフォルトの名無しさん:2008/04/18(金) 11:27:51
>>792
argvをそのまま渡すようにするには、ユーザ関数の仮引数と呼び出す際の実引数は何にすればいいのでしょう?
794デフォルトの名無しさん:2008/04/18(金) 11:30:16
>>793 仮引数は main にある argv と「同じ型」、実引数は argv 。これでいいか?
795デフォルトの名無しさん:2008/04/18(金) 11:48:44
>>794
分かりました、ありがとうございました。
796デフォルトの名無しさん:2008/04/18(金) 13:36:50
>>788
エラーとかじゃなくて単に何も表示されない?
797デフォルトの名無しさん:2008/04/18(金) 13:39:11
ファイルの置き場所ミスってるだけじゃねーの?
798788:2008/04/18(金) 15:50:11
VC++2008 Express Editionでdebugモードでコンパイルし、
データファイルaaa.datをdebugフォルダに入れて実行ファイル
を実行すると正常に実行されます。ですが、統合環境では何も
表示されないです。

Projects\test\test (testは私がつけたプロジェクト
名のフォルダ) というフォルダにデータファイルを置
くと統合環境ではうまくいくようです。しかし、こん
なこと最初はわかんないよ。
799デフォルトの名無しさん:2008/04/18(金) 15:55:53
>>798
フルパスでファイルを扱うのでなければ、カレント
ディレクトリをちゃんと意識するようにしないと。
800デフォルトの名無しさん:2008/04/18(金) 16:00:30
is_openでちゃんと開けたか確認したほうがいいよ
801デフォルトの名無しさん:2008/04/18(金) 16:29:49
open使わずに
std::ifstream fin("...");
てやったほうがいいよ
close後何も処理しないのならcloseも不要だよ
802デフォルトの名無しさん:2008/04/18(金) 18:12:43
C++やろうと思うんですけど、オススメの教本教えてください
Cとjavaは一応できます
803デフォルトの名無しさん:2008/04/18(金) 18:15:06
boostのソースコード(無料)(偏差値70)
804デフォルトの名無しさん:2008/04/18(金) 19:10:22
メモリは並列にアクセスできますか? 例えばHDDだと2台あればパフォーマンス落ちずに同時アクセスできますが
805デフォルトの名無しさん:2008/04/18(金) 19:17:44
>>804
NUMAとかそーいうキーワードで調べてみるといいと思う。
806デフォルトの名無しさん:2008/04/18(金) 19:38:09
>>777
ありがとう。評価ボード調べてみたらくそ高けぇw
ごめんなさい勉強用程度なら1万程度もあれば揃うだろうとなめてました
807デフォルトの名無しさん:2008/04/18(金) 19:42:52
>>806
こんなのから始めた方がいいよ。
ttp://hijiri3.s65.xrea.com/sorekore/develop/pic/00_start.htm
808デフォルトの名無しさん:2008/04/18(金) 19:51:44
>>807
d これは面白そう
もうちょっとググって組み込みのこと勉強してきます
809デフォルトの名無しさん:2008/04/18(金) 20:07:21
>>805 トンクス!
810デフォルトの名無しさん:2008/04/18(金) 20:32:22
>>785
提示されたコードをコンパイルしましたが、特に異状はないと思います。
環境とコンパイルオプションを教えてください。
当方が確認した環境は WindowsXP, コンパイラはgcc3.4.4(cygwin)です。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6272.txt