ライトプロテクトを掛けた状態(「つめ」を開けてあると言うのかな)のFDへWriteFile関数を実行すると、ERROR_WRITE_PROTECTが返ってくるかと思います。
WriteFile関数以外で、FDDに挿入されているFDがライトプロテクトが掛かっているのか調べる方法はあるのでしょうか?
(WriteFile関数だと、もし、ライトプロテクトが掛かっていないFDが挿入されていたら書き込んでしまいますよね。FDの中身にはなんら影響を与えることなく、ライトプロテクトが掛かっているか調べる方法ってあるんでしょうか?)

宜しくお願いします。

A 回答 (1件)

大体の場合は、別に適当なファイルを作ってWriteFileで確かめても問題ないと思いますが...



CreateFile関数の第二パラメータ、
「DWORD dwDesiredAccess」に
「0」を指定してCreateFile関数を呼び出すと、
デバイスにアクセスせずにデバイス属性を取得できるそうです。

詳しいことは参考URLを。
MSDNのCreateFileのトコです。

参考URL:http://www.microsoft.com/japan/developer/library …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q自転車のライトは点滅させる・させない?

自転車通勤してます!

早朝・夕方・夜間ライトはとても重要なものですよね。

自転車のライトにはたいてい点滅機能が付いていますが、
点滅させたほうが目立って安全なのかどうか知りたいです!
皆さんはフロントライト、テールライトを点滅させていますか?

自転車のライトを点滅させることについて教えてください^^

Aベストアンサー

 以下のQ&Aで様々な回答が寄せられています。

http://oshiete.goo.ne.jp/qa/7462352.html

 法的には、少なくとも法律の条文に「点滅はダメ」という記述がなく、警視庁も「道路交通法上、「灯火」には点滅も含まれ得る」という見解を出していますから、点滅ライトが違反と言うことにはなり得ないと思います。まあ自転車の灯火に関しては所管が各都道府県の公安委員会なので、地域によっては違反にされたりすることもあり得ますが、戦えばまず負けないと思います。
 「点滅ライトが消えているときはライトとして認められない」という理屈が通るなら、点滅信号が消えているときは信号機ではない、という理屈にもなっちゃいますしね。

 で、私がどうしているか、ですが、これは「状況により」ですね。
 というより、「真っ暗な道」以外ではほぼ"点滅"させています。テールライトはほぼ常時"点滅"です。

 点滅と点灯どちらがベターなのか、という問題は、たいていの自転車乗りはドライバーでもあるわけですから、特に悩む必要などないと思うのですけどね・・・

 自転車は車と道路を共有しているのですが、車より遙かに数が少なく、また車より遙かに速度域が低いです。
 この中では、「車に視認してもらう」ことが何より重要です。
 私は通勤ルートに真っ暗な道を多く含んでいるので、前照灯は相当強力なのを使っていますが、それでも自転車の前照灯って情けないほど暗いです。車のライトの中では完全に埋没してしまって視認されません。
 車で走っていると、状況によっては前照灯を"点灯"させている自転車など、無灯火も同じ、と思うほど視認しにくいことが多々あります。
 暗い前照灯(法律では10m先を照らせる、というのが基準ですが、こんなの話にならないくらいプアです)だと、薄暗い郊外の街道でも、点灯モードより点滅モードの方が、より遠距離から視認することができます。
 ですから、「自分の前方をより確実に照らす」ことと「車からより確実に視認してもらう」ことの重要性を、状況によって天秤にかけてどちらか選べば良いのではないでしょうか。
 今時の自転車用の前照灯は、たいていが点滅モードと点灯モードの両方がついていて選択できるようになっていますから。

 私は、街灯などの他の灯りによって前方が視認できるときは"点滅"モードを選んでいます。なので点灯モードを選ぶのは、本当に真っ暗な道だけです。

 別にバカにされているのでも虐げられているのでもなく、自転車が車より数が少なく速度域も低く、車ほど強力なライトは物理的に取り付けることができない(まあどうしてもというなら付けても止めはしませんが)、というのは単なる「事実」ですから、その中で安全性を考えると、最も重要なのは「車から確実に視認してもらうこと」でしょう。そのためには点滅がベターだと思います。

 車やバイクが全てヘッドライトを点滅させれば、夜道を走るドライバーはみんな卒倒してしまいますよ。子供は引きつけを起こしかねないし。
 つまり、「点滅」がされだけ強力な刺激、ということです。

 なお、ブルベなどのイベントでテールライトの点滅が禁止されるのは、「多数の自転車がテールランプを点滅させると危険だから」です。
 2台で走るときにスリップに付くことはよくありますが、その時前車がテールを点滅させていても幻惑などされません。いや、前車のテールライトをじっと凝視していれば幻惑されるかもしれませんが、そんなことすれば幻惑される前に危険ですから。
 ちょっと想像すれば判ると思うのですが、何十台という自転車が密集していて、それらが全てテールライトを点滅させれば、想像しただけで幻惑されそうでしょ?それもまったく同じタイミングで全車が点滅させればさして脅威でもないのですが、それぞれがバラバラのタイミングで点滅させる場面を想像してみてください。
 これは一般道ではあり得ない状況なので、一般道ではテールライトは点滅が常用モード、で良いと思います。

 以下のQ&Aで様々な回答が寄せられています。

http://oshiete.goo.ne.jp/qa/7462352.html

 法的には、少なくとも法律の条文に「点滅はダメ」という記述がなく、警視庁も「道路交通法上、「灯火」には点滅も含まれ得る」という見解を出していますから、点滅ライトが違反と言うことにはなり得ないと思います。まあ自転車の灯火に関しては所管が各都道府県の公安委員会なので、地域によっては違反にされたりすることもあり得ますが、戦えばまず負けないと思います。
 「点滅ライトが消えているときはライトとし...続きを読む

Qint select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)について

見当違いな質問かもしれませんがお願いします。

複数のソケットを監視する際にselectを使う場合のことですが、
selectの動作と戻り値について疑問があります。

http://www.linux.or.jp/JM/html/LDP_man-pages/man2/select.2.html
ここを参照すると、selectの戻り値は
「更新された 3 つのディスクリプタ集合に含まれているディスクリプタの数 (つまり、 readfds, writefds, exceptfds 中の 1 になっているビットの総数) を返す。」
とあります。
私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識だとreadfds,writefdsが引数として与えられているとしても、
どちらかのfd_setのうち、一つでも動きがあればselect文は
抜けてしまうことになります。とすると、戻り値として
「readfds, writefds, exceptfds 中の 1 になっているビットの総数」
は常に1ということになってしまいます。しかし、総数というからには
複数同時に1になることもあるはずです。

私の認識が間違っているとは思うのですが、どう間違っているのかわかりません。
select文の動きについて詳しく教えていただけないでしょうか。
または良いページがあれば教えてください。

見当違いな質問かもしれませんがお願いします。

複数のソケットを監視する際にselectを使う場合のことですが、
selectの動作と戻り値について疑問があります。

http://www.linux.or.jp/JM/html/LDP_man-pages/man2/select.2.html
ここを参照すると、selectの戻り値は
「更新された 3 つのディスクリプタ集合に含まれているディスクリプタの数 (つまり、 readfds, writefds, exceptfds 中の 1 になっているビットの総数) を返す。」
とあります。
私の中でselectは登録してあるFDのうち、一つでも動きが...続きを読む

Aベストアンサー

>私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識はあっています。
しかし、selectを呼び出す以前にOKになっているFDがあれば、それらは全てビットがONになります。

話しを簡単にする為に、受信のみのソケットを3つ作成したとします。
これらの3つのソケットに向けて相手が電文を送ったとします。
その状態でまだ、こちらはselectを呼び出さずにいます。しばらくしてから、selectを呼び出すと、selectは即座にリターンし、3つのビットが一度にONになっているはずです。
一方、相手が、一切電文を送ってない状態で、selectを呼び出した場合は、何れかのビットがONになればリターンするので、そのときは、貴方が想像しているように
ビットの総数は1になる可能性が高いです。
従って、相手が電文を送る前にselectを呼び出すか、送った後にselectを呼び出すかは、その時のタイミングにより異なります。従って、ビット数の総和が常に1であるとは、考えない方が無難です。(1つのソケットしか使用しない場合は別ですが・・・)

>私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識はあっています。
しかし、selectを呼び出す以前にOKになっているFDがあれば、それらは全てビットがONになります。

話しを簡単にする為に、受信のみのソケットを3つ作成したとします。
これらの3つのソケットに向けて相手が電文を送ったとします。
その状態でまだ、こちらはselectを呼び出さずにいます。しばらくしてから、selectを呼び出すと、selectは即座にリターンし、3つのビ...続きを読む

Q自転車のライトを購入しようと思っています。

自転車のライトを購入しようと思っています。

どんなライトがベストでしょうか。
自転車のハンドルの中央には、傘をさす器具があり、そこにはライトはつけれません
自転車の前輪の側面につけるのが一番よいのでしょうか。
それともハンドルの片側にライトをつけるのがいいのでしょうか。

ライトは
自動点灯でLEDのライトがいいのかなと思うのですが
こういったものは、電池で光るようになっているのでしょうか。
自転車をこいで発電するライトとは違うのですよね。

自転車のライトの知識が本当に乏しく、どんなものを買えばいいのか迷っています。
アドバイスいただけるとうれしいです。

ちなみに、自転車にもともとついていた、ペダルをこぐと光るライトは、硬いため使えるようになる
ため時間がかかり、一切使っていません。
そのため、こいで光るライトはもう使いたくありません。

安全のためにもライトがあったほうがいいと思うので今回購入検討中です。
よろしくお願いいたします。

Aベストアンサー

ハブダイナモのキットですが、大体、四千円ぐらいです。
SHIMANOのNEXUSというのがハブダイナモの名前です。
これを組み合わせてホイール(車輪)としたものです。
タイヤとチューブもセットでついてきているので、自分で、前輪を取り外してこのキットをつけるだけで完成です。
中には、ライトもセットになったものもあったはず。

あと、ライトですが千五百円ぐらいです。
楽天などで、ハブダイナモキットと検索すれば売っているショップが見つかります。
車輪のサイズがわかればそれとおなじサイズを購入すればよいでしょう。
たぶん、27インチでしょうかね。

自転車店でつけてもらうならば、それに工賃が千円から二千円が追加されるぐらいかな。
前輪なので、工賃は安いでしょう。

私の自転車についているのもこの手のタイプです。
一応、スポーツ自転車に分類されている自転車だったのでライトはもとから標準装備ではなかったです。
完成車についているのを引っ張ってきてくれたので安く手に入りました。
大衆車と違い、この手の自転車ってよくホイールを交換するんですよ。

シュミットという会社のハブダイナモもあるけれど、こちらは完成品では見かけませんね。
防水性も高く、発電効率が段違いでよいのでほしいのだけどね~。
値段はNEXUSと比較にならないほど高いです。
それこそ、ホームセンターで売られている格安自転車が2台ぐらい買えます。

視認性をよくするだけならば、小さいLEDのライト、たとえばKNOGのライトなどお勧め。
シリコンのゴムベルトとライトが一体になったタイプで、値段は千五百円程度です。
ハンドルに取り付けてもよし、フロントフォークに取り付けてもよし、ヘルメットに取り付けてもよし、とにかく取り付ける場所を選びません。
外すのも簡単です。
小型のライトですから、明るくはないですけどね。

とにかく安くて明るいライトがほしければ、アウトドア用のライトを自転車につけるのも手です。
「マグライト 自転車」とでも検索すればいくつか出てくるでしょう。
今だったら、GENTOSかな。
使わないときは、外しておけば盗難にも合わないしね。

ハブダイナモのキットですが、大体、四千円ぐらいです。
SHIMANOのNEXUSというのがハブダイナモの名前です。
これを組み合わせてホイール(車輪)としたものです。
タイヤとチューブもセットでついてきているので、自分で、前輪を取り外してこのキットをつけるだけで完成です。
中には、ライトもセットになったものもあったはず。

あと、ライトですが千五百円ぐらいです。
楽天などで、ハブダイナモキットと検索すれば売っているショップが見つかります。
車輪のサイズがわかればそれとおなじサイズを購入すれば...続きを読む

Qwinsock windowprocでFD_WRITEの処理

すみません。よくわからなくなったので教えてください。

非同期処理を行いwindowprocで送信、受信の処理をしているのですが、一部わかりません。

[内容]
クライアントからデータを送信してもらい、サーバ側で受信をして、サーバ側で受信後、クライアントへ送信をしたいのですが....


[サーバ側ソース抜粋]
::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
int EventErrorCoode;
int len;

switch(message)
{
case FM_TCPPROC:
EventErrorCoode = WSAGETSELECTERROR(lParam);
switch(WSAGETSELECTEVENT(lParam)){
case FD_CONNECT:
//コネクトされたときの処理
break;

case FD_ACCEPT:
if(EventErrorCoode != 0){
NetWork_LogOut();
break;
}
// 状態判定処理
if(NetWork_Accept() == FALSE){
   //失敗したときの処理
}
break;

case FD_READ:
// データの受信メッセージ
if(NetWork_Recv() == FALSE){
 
}
break;

 case FD_WRITE:
//テスト折り返し送信
 SendData = "折り返し";
 strcpy(Recv_Buffer,SendData);
 len = send(server_s, Recv_Buffer, strlen(Recv_Buffer),0);
break;

   :
   :

return CDialog::WindowProc(message, wParam, lParam);
}

::NetWork_Recv()
{

int nResult;
int len;

nResult = recv(client_s, (CHAR *)Recv_Buffer, RECV_SIZE - 1, 0);
Recv_Buffer[nResult] = '\0';

return TRUE;
}

*非同期処理はsocket作成後しています。
クライアントから送信されたデータが、FD_READで認識し、NetWork_Recv()関数を使って受信します。
その後、空になった時点で、FD_WRITEを実行すると思っていたのですが、recvされた後、データは空にならないのでしょうか?

すみません。よくわからなくなったので教えてください。

非同期処理を行いwindowprocで送信、受信の処理をしているのですが、一部わかりません。

[内容]
クライアントからデータを送信してもらい、サーバ側で受信をして、サーバ側で受信後、クライアントへ送信をしたいのですが....


[サーバ側ソース抜粋]
::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
int EventErrorCoode;
int len;

switch(message)
{
case FM_TCPPROC:
EventErrorCoode = WSAGETSELECTERROR(lP...続きを読む

Aベストアンサー

あーあ、WindowProcオーバーライドしちゃってるんだってのはおいといて(^^;;


>クライアントから送信されたデータが、FD_READで認識し、NetWork_Recv()関数を使って受信します。
>その後、空になった時点で、FD_WRITEを実行すると思っていたのですが、recvされた後、データは空にならないのでしょうか?

FD_WRITEは、「ソケットの送信バッファに空きができたことを通知」なんだから、受信の終了とは関係ないような。
クライアントへデータを投げつけ終わった(残りを投げることができる)タイミングを知るためのものだと思うんですが。

FD_CONNECTの直後、FD_READの前にFD_WRITE来てませんか?

Q折りたたみ自転車のライト

折りたたみ自転車を購入しました。
ライトがついていないので買いにいったのですがなかなかかわいいライトがありません。
丸っこくてレトロ風なかわいいライトなんて都合のいいものは売っていないのでしょうか?
折りたたみ自転車を愛用のみなさんはどういったライトにしていますか?
ご意見お願いいたします。

Aベストアンサー

砲弾型ライトをお探しなんですね。
検索してみたら、下記URLのブログに取り扱いがあるように書いてあります。
「アロー横浜」という自転車さんらしいですね。
お好み似合う商品を取り扱っているように思いますが。

ちなみに私も折りたたみ使用中ですが、機能優先で無骨な充電式ハロゲンライトにしております。

参考URL:http://arrow-yokohama.no-blog.jp/arrow4580/2007/09/post_a41a.html

QWriteFile関数

WriteFile関数
C言語でWindowsプログラミングを学習中です。
2点ご質問です。

LPTSTR型のbufferには(1)のように文字列を格納して、
画面に表示しています。
ファイルに保存するために改行は「\r\n」に置き換えているので、
画面上ではもちろん改行されません。
Editコントロールを使用すれば簡単にいくと思いますが、
このような方法で画面上にも改行・ファイルにも改行という方法はありますか?
さらに(2)で保存したファイルを開くと文字と文字の間に半角のスペースが
入ってしまいます。
ごくたまに入らない時もありますが、文字列の一部しか表示されません。
これはUNICODEとマルチバイトの関係なのでしょうか?
UNICODEを定義しています。
マルチバイトを定義してしまうとGetSaveFileName関数が
エラーになってしまうので・・・

ご教授お願いします。
(1)
case WM_CHAR:
if(wp==VK_BACK){
if(!iCount)
return 0;
iCount--;
InvalidateRect(hWnd,NULL,TRUE);
}else if(wp==VK_RETURN){
buffer[iCount++]='\r\n';
InvalidateRect(hWnd,NULL,TRUE);
return 0;
}else{
buffer[iCount++]=(TCHAR)wp;
InvalidateRect(hWnd,NULL,TRUE);
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rc);
DrawText(hdc,buffer,iCount,&rc,DT_WORDBREAK);
EndPaint(hWnd,&ps);
return 0;





(2)
int MySave(LPTSTR buffer,HWND hWnd)
{
OPENFILENAME ofn;
HANDLE hFile;
TCHAR szFile[MAX_PATH];
TCHAR szFileTitle[MAX_PATH];
DWORD dwAccBytes;

memset(&ofn,0,sizeof(OPENFILENAME));

ofn.lStructSize=sizeof(OPENFILENAME);
ofn.hwndOwner=hWnd;
ofn.lpstrFilter=TEXT("text(*.txt)\0*.txt\0All files(*.*)\0*.*\0\0");
ofn.lpstrFile=szFile;
ofn.lpstrFileTitle=szFileTitle;
ofn.nFilterIndex=1;
ofn.nMaxFile=MAX_PATH;
ofn.nMaxFileTitle=MAX_PATH;
ofn.Flags=OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
ofn.lpstrDefExt=TEXT("txt");
ofn.lpstrTitle=TEXT("名前を付けて保存");

if(!GetSaveFileName(&ofn))
return -1;
hFile=CreateFile(szFile,GENERIC_WRITE,0,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
WriteFile(hFile,buffer,(DWORD)lstrlen(buffer),
&dwAccBytes,NULL);
SetWindowText(hWnd,szFileTitle);
CloseHandle(hFile);
return 0;
}

WriteFile関数
C言語でWindowsプログラミングを学習中です。
2点ご質問です。

LPTSTR型のbufferには(1)のように文字列を格納して、
画面に表示しています。
ファイルに保存するために改行は「\r\n」に置き換えているので、
画面上ではもちろん改行されません。
Editコントロールを使用すれば簡単にいくと思いますが、
このような方法で画面上にも改行・ファイルにも改行という方法はありますか?
さらに(2)で保存したファイルを開くと文字と文字の間に半角のスペースが
入ってしまいます。
ごくたまに入らない時...続きを読む

Aベストアンサー

文字列について、もう少し勉強した方がいいと思いますが……。

case WM_CHAR:
でいぢっているbuffer[]には、文字列の終端をあらわす'\0'についての処理は入っていますか?
'\0'が入っていないのであれば、
>WriteFile(hFile,buffer,(DWORD)lstrlen(buffer),
>&dwAccBytes,NULL);
>SetWindowText(hWnd,szFileTitle);
の2つはバッファオーバーランする可能性が限りなく高いですが、それは意図した動作ですか?
# ついでにhWndは何者ですか?

Q自転車のライトの取り付け

 自転車のライトが壊れたので、新しく走行中に発電して光るタイプのライトを買ったのですが、急いで買った+前のライトが特殊なタイプだったので、プラケットが(ホークからのびた、自転車のライトがタイヤと上手く接するようにするためのもの)ついていませんでした。
 
 仕方ないので、自転車やさんで付けて貰おうと思うのですが、自転車屋さんでプラケットは出してくださるでしょうか?また、プラケットはいくらくらいかかるでしょうか?
 教えていただければ幸いです。よろしくお願いします。

Aベストアンサー

ホームセンターで約600円でした。
自転車やさんなら1000円ぐらいかな。
>自転車屋さんでプラケット
大抵、有ると思いますが、自転車屋さん次第です。

QLogonUser関数が ERROR_PRIVILEGE_NOT_HELD エラーになる

CreateProcessAsUser関数を使うために、LogonUser関数を実行したのですが
以下のエラーになりました。

// A required privilege is not held by the client.
#define ERROR_PRIVILEGE_NOT_HELD 1314L

環境は
・Windows2000 Pro
・VC++ 6.0
です。

そのマシンにはオートログオンの設定がしてあり、オートログオンした
ユーザとパスワードを LogonUser関数に指定したのですがNGでした。
EXEはエクスプローラからダブルクリックして実行しました。

<オートログオン>
ユーザ:ABC
パスワード:123

例えば上記のような設定で、以下のコードのようにしました。

HANDLE hToken;
BOOL  bRet;
DWORD dwLastError;

bRet = LogonUser( "ABC",
         ".",
         "123",
         LOGON32_LOGON_INTERACTIVE,
         LOGON32_PROVIDER_DEFAULT,
         &hToken);

if (bRet == 0) {
dwLastError = GetLastError();
}

LogonUser関数は 0 が返り、詳細エラーは 0x522(1314) でした。
権限がない、というようなエラーですが、ログオンしたユーザと
取得しようとしたユーザが同じなのにエラーとなります。
何がいけないのでしょうか。

全然間違った考えことを言ってたら、ごめんなさい。。。
ここら辺の関数を使うのが初めてで、MSDN を何回も読んだのですが
理解できませんでした。
識者の方、アドバイスなどをお願いします。

CreateProcessAsUser関数を使うために、LogonUser関数を実行したのですが
以下のエラーになりました。

// A required privilege is not held by the client.
#define ERROR_PRIVILEGE_NOT_HELD 1314L

環境は
・Windows2000 Pro
・VC++ 6.0
です。

そのマシンにはオートログオンの設定がしてあり、オートログオンした
ユーザとパスワードを LogonUser関数に指定したのですがNGでした。
EXEはエクスプローラからダブルクリックして実行しました。

<オートログオン>
ユーザ:AB...続きを読む

Aベストアンサー

こんにちは。itohhといいます。

その後、解決したのでしょうか?
「回答に対する補足」が投稿されたのを今まで知りませんでした。

SE_TCB_NAME特権は、そもそもユーザのポリシーに付加されていないと
いけないのだと思います。

わたしが前に行ったときも特定のユーザIDに特権を付加した記憶があります。
もしかしたら、正当な解決方法ではないのかもしれませんが。

付加の方法は、
「コントロールパネル」「管理ツール」「ローカルセキュリティポリシー」を使用します。
この中の「ローカルポリシー」「ユーザ権利の割り当て」で
「オペレーティングシステムの一部として機能」に該当ユーザを設定します。

>マシンにログオンしているユーザ/パスワードと LogonUser関数に渡す
>パラメータは同じなのです
同一ならば、EnablePrivilege関数を呼ぶ必要もありません。

Q自転車のライト

通学用に自転車を使っているのですが、LEDでもないので夜走行中ライトが暗いです。オートライトなので自転車のペダルが重くはならないのでいいのですが、やはり明るさは気になります。自転車のペダル重くしないで、明るくする方法はあるでしょうか?

Aベストアンサー

電池式のライトを設置してはいかがでしょう。
一例をご紹介しますが、ホームセンターや100円ショップでも購入できますよ。

参考URL:http://www.handyking.jp/SHOP/L209-50B.html

Q文字列とWriteFile関数について

char* に格納した文字列をWriteFile関数でテキストファイルにそのまま書き込もうとすると
MessageBoxで表示したときは改行されていたのに、Notepadで見ると改行されていませんでした。
どうすればこの問題は解決しますか?

Aベストアンサー

具体的にはどのような文字列を書き込もうとしたのでしょうか?
一つの可能性としては、改行として '\n' しか書き込んでいないというものでしょうか。

notepadは '\n' だけのものを改行とは認めず、改行するには
'\r' + '\n' のならびにする必要があります。

MessageBoxでもWindowsのバージョンによって違ったりしますが、
'\r' + '\n' ではなく '\n' だけでも表示上で改行されます。
fprintf/fputsなどの関数だとテキストモードでファイルをオープンしていれば
'\n' → \r\n の変換を自動でしてくれますが、WriteFileはそういったことは
してくれません。


人気Q&Aランキング

おすすめ情報