C言語初心者です.
理系の研究室におり,現在Visual C++6.0を使っています.
やりたいことはモータを動かして台を1秒ごとに速度を変えて動かしたいです.
速度はテキストファイル(data.txt)に入れてあります.
開始ボタンを押すと同時にファイルからデータを読み込み,スピードを変化させるということです.
以下を書いて見たのですが,どうしてもエラーになってしまいます.
エラー内容は mainのローカル定義が正しくありません
fatal error も出てきます.初心者で前の研究者が書いたものを見たり,本を見たりして書いています.
時間があまりないため,C言語を一から勉強していないため,どこがおかしいかわかりません.
以下が,なんとか調べつつ書いたC言語です.MtrChangeSpeed~の書き方は前機能を見ながら書いたので
あっているとは思います.よろしくお願いします.
void CSyncStartDlg::OnDielessstart()
{
INT nRet;
int main(void)
{
fstream finout; //入出力用ストリームの宣言
char ss[1000];
finout.open("data.txt", ios::in); //ファイルオープン
if(finout.fail()){
cout << "入力ファイルをオープンできません\n";
exit (1);
}
while(!finout.eof() && !finout.fail()) //データの入力
{
finout.getline( ss,1000 );
nRet=MtrChangeSpeed(hDeviceHandle1,MTR_ACCDEC_CHANGE,(ss*360*9)/(0.04394531*5)); //関数の実行結果
if(nRet != MTR_ERROR_SUCCESS)
AfxMessageBox("速度変更に失敗しました");
Sleep(1000);
}
finout.close();
ファイル入出力に関して
Re:ファイル入出力に関して
えーとですね。
まず、この掲示板の規約によく目を通してください。
http://dixq.net/board/board.html
[flash 600,100]http://dixq.net/flash/kiyaku4.swf[/flash]
マルチポストの条件に違反してらっしゃいますよね?
http://oshiete1.goo.ne.jp/qa5509839.html
なので、まず向こうの質問を削除するか閉じるようにしてください。
その上で「良くわからない人はテンプレを」に沿って書いていただけますか。
それとソースコードは< pre>と< /pre>のタグで囲んでください。を必ず守ってください。
的確な回答するためにも必要な事柄ですのでお願いします。
[補足的質問]
・C言語とおっしゃっていますが、ソースを見る限りC++と混在しています。と言うよりC++にC言語の書き方が混じっています。C++については、どの程度ご存知でしょうか(勉強した期間など)?
まず、この掲示板の規約によく目を通してください。
http://dixq.net/board/board.html
[flash 600,100]http://dixq.net/flash/kiyaku4.swf[/flash]
マルチポストの条件に違反してらっしゃいますよね?
http://oshiete1.goo.ne.jp/qa5509839.html
なので、まず向こうの質問を削除するか閉じるようにしてください。
その上で「良くわからない人はテンプレを」に沿って書いていただけますか。
それとソースコードは< pre>と< /pre>のタグで囲んでください。を必ず守ってください。
的確な回答するためにも必要な事柄ですのでお願いします。
[補足的質問]
・C言語とおっしゃっていますが、ソースを見る限りC++と混在しています。と言うよりC++にC言語の書き方が混じっています。C++については、どの程度ご存知でしょうか(勉強した期間など)?
Re:ファイル入出力に関して
> void CSyncStartDlg::OnDielessstart()
> {
> INT nRet;
> int main(void)
MFCのダイアログのボタンクリックのイベントハンドラに、
main関数を書こうとしているように見えます。
コンパイルできるはずがありません。
ソースコードは、C言語ではなくC++で、
MFCというライブラリを使用していますので、C++とMFCを
ある程度は使えないと改造はできないでしょう。
勉強する時間がないならば自分で作ることを諦めて、
周りの人に相談するのが良いでしょう。
また掲示板で質問しても、ソースコードの断片だけでは
アドバイスのしようがありません。全ソースコードか、
せめて、まともに動いているときのCSyncStartDlg::OnDielessstart()が分かり、あなたのやりたいことが分かれば、何か言えるかもしれないけど、
保証はできません。
# マルチかよって思ったけど、書いた後だから投稿します。
> {
> INT nRet;
> int main(void)
MFCのダイアログのボタンクリックのイベントハンドラに、
main関数を書こうとしているように見えます。
コンパイルできるはずがありません。
ソースコードは、C言語ではなくC++で、
MFCというライブラリを使用していますので、C++とMFCを
ある程度は使えないと改造はできないでしょう。
勉強する時間がないならば自分で作ることを諦めて、
周りの人に相談するのが良いでしょう。
また掲示板で質問しても、ソースコードの断片だけでは
アドバイスのしようがありません。全ソースコードか、
せめて、まともに動いているときのCSyncStartDlg::OnDielessstart()が分かり、あなたのやりたいことが分かれば、何か言えるかもしれないけど、
保証はできません。
# マルチかよって思ったけど、書いた後だから投稿します。