Tutorial

[C|C++]feof使用注意

前言


有時候在使用檔案讀寫時,會遇到要判斷檔案結尾的需求,而C/C++語言在<stdio.h>中有提供一個feof()的函式幫助我們判斷,但是在使用時,請先了解它的使用時機。

發生狀況->多讀一次?


下面的寫法模式會發生多讀取的case,而這個原因在於使用feof的時機不對。

FILE* pf;
 while(!feof(pf)){
   //fread 讀取
   //資料處理
 }

feof的解讀


feof是發生在fread使用"讀取過檔案"後,已讀到End-of-file位置時,回傳的指標才會是true(檔案結尾),所以上面的寫法在讀完最後一筆後,指標會停留在End-of-file位置前,需要再讀一次到在End-of-file位置後(判斷讀取資料失敗,因為已讀到eof),才會為true,而因為fread讀取失敗,buffer的資料不會改變,所以才會多讀一筆,如下圖:

[XNA]安裝XNA到Visual Studio 2012

前言


或許有些仍然在使用XNA的開發者可能會希望讓XNA的Visual Studio2012 上做開發(雖然現在Visual Studio 2013版已經推出了,不過可能仍然還是許多人在用VS2012),但是當你安裝了XNA後,打開你的VS2012卻不會有XNA Game Studio的範本,那麼這篇可能會幫你解決這個問題(各位可以來看看參考資料的原文文章,如果想看中文的話也可以看我這邊寫的),而且我也已經多台電腦測試可以執行。

(這篇文章在Windows 8上不適用,如何在Windows 8上安裝XNA這部分有空會再寫一篇,當然各位也可以選擇使用Monogame-此篇

執行步驟


怎麼做呢?這邊我們需要迂迴一點,先安裝VS2010(可以下載VS2010 Express版就好,VS2010只能拿來做為一個橋樑用)

设计面向超极本™ 设备并支持触控的桌面应用

下载 PDF

随着 Windows 8* 以及支持触控的计算机的推出(例如英特尔超极本™ 设备,其中触摸是额外的输入方式),用户拥有了与应用和软件交互的新方式。在过去,触摸仅限制在特殊设备中使用,这些设备需要专门的软件,而今天我们看到大量制造商正在制造支持这些新输入方式的设备。

超极本在这些设备中显得卓尔不同,不仅包含触摸功能,也配备有笔记本电脑式键盘和鼠标触控板,以便于以传统方式操作。因此用户可选择过去所用的键盘,也可使用触摸作为输入源。

The 智能手机和平板电脑的广泛普及意味着设计人员需要调整自己的思维,清楚了解触摸的功能和限制。本文将讨论这对用户界面的设计有何影响,并提供一些指导以设计出可促进交互并提供卓越用户体验的出色软件。

  • Microsoft Windows* 8
  • Windows*
  • Intermediate
  • ultrabook
  • Microsoft Windows* 8 Desktop
  • Touch Interfaces
  • User Experience and Design
  • Subscribe to Tutorial