win32apiにおけるwritefileの使い方について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
学生の嘆き

win32apiにおけるwritefileの使い方について

#1

投稿記事 by 学生の嘆き » 14年前

毎回、失礼します。
writefileの正しい使い方についての質問です。
sprintf_s(str ,255,"速度=%.1lf" ,SPEED_ADD);でSPEED_ADDという変数を
定期的に変化させています。
このsprintf_sで書いた中のSPEED_ADDという変数をwritefileを使ってテキスト
に書き込んでいきたいと考えていますが、なかなかうまくいきません。
writefileを使って変数を書き込んでいくにはどのように記述すればよいのでしょうか。
教えてください。

Ryo

Re: win32apiにおけるwritefileの使い方について

#2

投稿記事 by Ryo » 14年前

うまくいかないというのは、どういうことでしょうか?

変数の値を変えながらができないのか?
そもそも、ファイルの作成、書き込みといったことそのものがわからないのか?

学生の嘆き

Re: win32apiにおけるwritefileの使い方について

#3

投稿記事 by 学生の嘆き » 14年前

ファイルの作成、書き込みというものもなかなか理解できません。
また
if( hFile != INVALID_HANDLE_VALUE ) //ファイルを開くことに成功したならば
{
TCHAR buf1[] = {(sprintf_s(str ,255,"速度=%.1lf" ,SPEED_ADD))};
WriteFile//ファイルに書く
(
hFile, //シリアルポートへのハンドル
buf1, //送信バッファへのポインタ
sizeof(buf1), //送信データ数
&writesize, //際に送信したデータ数
NULL //非同期I/O動作の場合のオーバーラップ構造体へのポインタ
);
作ってはみたのですが、変数を書き込むどころか、なにも書くことができませんでした。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: win32apiにおけるwritefileの使い方について

#4

投稿記事 by みけCAT » 14年前

>TCHAR buf1[] = {(sprintf_s(str ,255,"速度=%.1lf" ,SPEED_ADD))};
パッと見でおかしいと思いますね。
ここは
TCHAR buf1[10000];
sprintf_s(buf1 ,255,"速度=%.1lf" ,SPEED_ADD);
とし、WriteFileの中の
sizeof(buf1)

lstrlen(buf1)
でどうでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

学生の嘆き

Re: win32apiにおけるwritefileの使い方について

#5

投稿記事 by 学生の嘆き » 14年前

実行してみましたが
フフフフ戉・r2vl
フフフフ戉・r2vl
フフフフ戉・r2vl
フフフフ戉・r

このようなデータになってしまいました。
これはいったい・・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: win32apiにおけるwritefileの使い方について

#6

投稿記事 by softya(ソフト屋) » 14年前

TCHAR buf1[10000];
を使われてますがUNICODEを意識して使われていますか?
通常はマルチバイト文字だと思いますので、マルチバイト文字をコンパイルオプションで指定しないと予想もしない物が書き出されているんだと思います。

「今さら聞けない、教えてもらえない!! Unicode /マルチバイト文字対応 国際化VC ++ プログラミングの基礎!! - JAPAN Platform SDK(Windows SDK) Support Team Blog - Site Home - MSDN Blogs」
http://blogs.msdn.com/b/japan_platform_ ... de-vc.aspx
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

学生の嘆き

Re: win32apiにおけるwritefileの使い方について

#7

投稿記事 by 学生の嘆き » 14年前

なんとかできました!ありがとうございます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: win32apiにおけるwritefileの使い方について

#8

投稿記事 by softya(ソフト屋) » 14年前

ここのルールなのですが、どう上手く行ったか何が問題だったかプログラムコードと上手く行った対処方法を他の人の参考になるように書き残して頂くようにお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る