【初心者歓迎】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;
}
>>778 >783の戯言はさておき、途中でエラーが発生したときの扱いが違う。
前者は書き込みに成功したバイト数が得られるが、
後者は1024バイト全てが書き込めたかどうかしか判らない。
788 :
141: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、以前のもので意味はありません。
VC9で普通に動いてるけど。
791 :
デフォルトの名無しさん:2008/04/18(金) 11:14:42
メイン文で使っている*argv[]をユーザ関数内で使いたいので
ユーザ関数では仮引数をchar **a[]にしているのですが、実引数は何にすればいいのか分からないので教えて下さい
>>791 argv そのまま渡せるように引数も同じ型にしとけよ。
793 :
デフォルトの名無しさん:2008/04/18(金) 11:27:51
>>792 argvをそのまま渡すようにするには、ユーザ関数の仮引数と呼び出す際の実引数は何にすればいいのでしょう?
>>793 仮引数は main にある argv と「同じ型」、実引数は argv 。これでいいか?
795 :
デフォルトの名無しさん:2008/04/18(金) 11:48:44
>>794 分かりました、ありがとうございました。
796 :
デフォルトの名無しさん:2008/04/18(金) 13:36:50
>>788 エラーとかじゃなくて単に何も表示されない?
ファイルの置き場所ミスってるだけじゃねーの?
798 :
788:2008/04/18(金) 15:50:11
VC++2008 Express Editionでdebugモードでコンパイルし、
データファイルaaa.datをdebugフォルダに入れて実行ファイル
を実行すると正常に実行されます。ですが、統合環境では何も
表示されないです。
Projects\test\test (testは私がつけたプロジェクト
名のフォルダ) というフォルダにデータファイルを置
くと統合環境ではうまくいくようです。しかし、こん
なこと最初はわかんないよ。
>>798 フルパスでファイルを扱うのでなければ、カレント
ディレクトリをちゃんと意識するようにしないと。
is_openでちゃんと開けたか確認したほうがいいよ
open使わずに
std::ifstream fin("...");
てやったほうがいいよ
close後何も処理しないのならcloseも不要だよ
C++やろうと思うんですけど、オススメの教本教えてください
Cとjavaは一応できます
boostのソースコード(無料)(偏差値70)
メモリは並列にアクセスできますか? 例えばHDDだと2台あればパフォーマンス落ちずに同時アクセスできますが
>>804 NUMAとかそーいうキーワードで調べてみるといいと思う。
>>777 ありがとう。評価ボード調べてみたらくそ高けぇw
ごめんなさい勉強用程度なら1万程度もあれば揃うだろうとなめてました
>>807 d これは面白そう
もうちょっとググって組み込みのこと勉強してきます