• 締切済み

C言語のエラーが取れない。

お世話になります。capeofdragonと申します。 現在、windows 7でWindows98をエミュレータで起動し、 Boland(R) Turbo C/C++ Version 4.0Jで、 プログラムを改編し、コンパイルしているのですが、 以下のエラーが出て悩んでいます。 元々のソース:sprintf(pWk,"%3d",stChnl[pCnt].mMesCurrent); 変更後:  sprintf(pWk,"%.1f",(double)((double)stChnl[pCnt].mMesCurrent/10.0F)); 変更後のエラー内容:printf : floating point formats not linked Abnormal program termination やりたい事は、整数表示を小数点第一位までの実数表示にしたいだけです。 変更後のエラー内容は、検索しても明快なページは出てきませんでした。 お手数をお掛け致しますが、 ご教授宜しくお願い致します。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1622/5659)
回答No.4

pWkの指す領域はサイズ足りてますか? あと#1のお礼を見て思ったのですが 勉強し直された方がよいかと思います。 sprintfの第1引数の領域サイズは足りてませんし、 自動変数の配列のアドレスを戻り値にしてますし。

  • f272
  • ベストアンサー率46% (8023/17148)
回答No.3

http://c-faq.com/fp/fpnotlinked.html ここにはダミーとして実数型ライブラリ関数を呼べと書いてある。そうしないと非実数型のprintfをリンクするそうだ。

  • TT414
  • ベストアンサー率18% (72/384)
回答No.2

回答ではありません。 >sprintf(pWk,"%.1f",(double)((double)stChnl[pCnt].mMesCurrent/10.0F)); 無駄キャスト、定数の型指定間違いのオンパレードです、何を考えて変更したのでしょう。 sprintf(pWk,"%.1f",stChnl[pCnt].mMesCurrent/10.0); で大丈夫です。

  • chie65535
  • ベストアンサー率43% (8525/19382)
回答No.1

コンパイル時、リンカに与えるスイッチで「浮動小数点ライブラリを使用しない」に指定しているので、浮動小数点が使えないバージョンのprintfがリンクされています。 浮動小数点を使いたいなら「浮動小数点ライブラリを使用しない」のスイッチを指定しないでコンパイルする、明示的に「浮動小数点ライブラリを使用する」のスイッチを付けてコンパイルするなど、コンパイルスイッチを明示的に指定しなければいけません。 たぶん、コンパイルオプションに「-f-」が付いている筈なので、それを削り、「-f」を明示的に指定して下さい。 「-f-」を付けてコンパイルすると、浮動小数点が使えないprintf、scanfがリンクされ、実行時に printf : floating point formats not linked (printfの浮動小数点用ライブラリがリンクされていない) Abnormal program termination (プログラムを異常終了する) と言う「実行時エラー」が出ます。

wnsato
質問者

お礼

ご返答有難うございます。 makefile内のオプションに 「-f」 がありましたが、 「-f-」 はありませんでした。 試しに、「-f」を消去しましたが、エラーは取れませんでした。 よって、整数を十分の一倍させて、小数点第一位までを表示させる プログラムを作ろうと考え、以下の簡単なテストをしてみましたが、 上手くいきません。 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> char *ftoa(int num) { char Num[5]; char decimal1[1]; char integer[2]; sprintf_s(decimal1,"%d",(num % 10)); sprintf_s(integer,"%d",(num / 10)); if(integer[0] == '0') { sprintf_s(Num,"%d.%d",integer[1],decimal1[0]); return (Num); } else { sprintf_s(Num,"%d%d.%d",integer[0],integer[1],decimal1[0]); return (Num); } } int _tmain(int argc, _TCHAR* argv[]) { char *pWk; int a = 252; pWk = ftoa(a); printf("pWk = %s\n",pWk); return 0; } こちらも、皆様ご教授してして頂ければ、有難いです。 宜しくお願い致します。

関連するQ&A

  • MicrosoftVisual  C++ Runtime Libraryエラー

    本格読取 おまかせ名刺管理2をインストールしました。 Microsoft Visual C++ Runtime Libraryエラーとなってしまいました・ ↓ Runtime Error! Program:...SOURCENEXT\本格読取おまかせ名刺管理2\honyomi_meishi.exe abnormal program termination. どなたか、解決策をお教えいただけないでしょうか。 よろしくお願いいたします。

  • Microsoft Office 2000のEXCELがエラーで起動しない

    「Microsoft Visual C++ Runtime Library Runtime Error! abnormal program termination」のエラーでMicrosoft Office 2000のEXCELが起動しない。

  • エラーメッセージ

    PCでゲーム(なぜかレースゲームばっかだが…)をしようとするとエラーが出て出来ないんです。しかも英語なのでわからないのですがこういったエラーです…↓ 「Runtime Error! Program:C:\Documents and Settings\owner\デスクトップ\sr2_100\SRexe abnormal program termination」 こんな感じです。わかるかたおられたら対処方等教えてください。 よろしくお願いします。

  • ランタイム エラーの解決法

    あまりPCに詳しくないので困ってます。 一時間に一回ぐらいの頻度で、ランタイムエラーが出て画面が固まります。 解決方法を教えてください。 出てくるエラーは下記になります。 Program:c\ProgramFiles\InternetExpolor\IEXPLORE.EXE abnormal program termination どなたか回答宜しくお願いします。

  • エラー表示について

    よろしくお願いします。 最近、何かしらの作業をしていると以下の表示が出ます。 Microsoft Visual C++ Runtime Library のタブで Runtime Error! Program:C:\Profram Files\Save\Save.exe abnormal program termination です。 重要なエラーなのでしょうか? 初めは気にしていなかったのですが頻度が高いため気になり始めました。 教えていただきたいです。

  • ビジュアルC++ランタイムライブラリ エラー 

    あるプログラムを実行した場合エラーウインドウが開き そこには以下のような表記がされています。 勿論プログラムはそこから先へは動きません。 いったいこれは何のエラーで、どういう意味を示していて、 どこが悪くて、どうすればエラーを出なくできるのか、 よくわかりません。 教えて戴けると嬉しいのは、解決方法です。 宜しく御願いします。 ・タイトルバーの表示 microsoft visual C++ runtime liblarary ・ウインドウ内の表示 × runtime error! purogram:(ここには実行プログラムのエクスプローラ内の位置が表示されています) abnormal program termination ・存在するボタン OK

  • エラーメッセージ

    My musicからGiga Poketに動画を移そうとしたら、Runtime Error Program:C:\WINDOWS\explorer.exe abnormal program terminationとでます。僕はこんなこと初めてでよくわかりません。 一応、動画は移るんですが、完全な状態ではなく、また、このエラーメールが出ると、パソコンの画面が一回軽くフリーズして、消えてしまいます。 これはどうしてでしょうか。どうすれば安全に移動できますか? アドバイス待っています。

  • DVD Shrinkでエラーが出ます。

    DVD Shrinkでエラーが出ます。対処法を教えてください。 Runtime Error! Program:c:\Program Files\DVD Shrink\DVD Shrink 3.2.exe abnormal program termination パソコンはWin7です。 どうぞよろしくお願いします。

  • Rutime Error!と出てしまいます

    Windowsイラストレーター9.0です。 aiファイルを開こうとすると 「Microsoft Visual C++ Rutime Library  Runtime Error!  Program:C\Program Files\Adobe\Illustrator 9.0  \Illustrator.exe  abnormal program termination        」 と出てきてしまい、うまく開けません。 理由と対処法をどうぞよろしくお願いします。 

  • エラー?・・

    このごろPCを使っていると、突然   Microsoft Visual C++ Runtime Library Runtime Error! Program:C:\ProgramFiles\RakCMN\RakTimer.exe abnormal program termination というメッセージが出て来て困っています。 この前トロイの木馬に感染した影響なのでしょうか? 対処法を教えてください。