perror, strerror 顯示errno對應的字串錯誤資訊

2012-02-14 wcdj  Happy Valentine's Day !出錯處理 —— 查看 errno,在定位錯誤資訊的時候很有用當UNIX函數出錯時,常常返回一個負值,而且整形變數 errno 通常被設定為含有附加資訊的一個值。(注意,不是所有情況都是)在檔案<errno.h>中定義了符號errno以及可以賦予它的各種常量,這些常量都以字元 E 開頭。注意:(1) 通過 man 3 errno,查看錯誤常量的具體資訊。(2) The <errno.h>

【king 選 太子 154】

king 選 太子時間限制:3000 ms  | 

奇怪的無符號數相減 —— 引出的RTTI, typeid(type).name

2011-03-29 wcdj // 測試代碼#include <stdio.h>int main(){unsigned short us1= 2, us2 = 3;int i1 = (us1 - us2 > 0);unsigned int ui1 = 2, ui2 = 3;int i2 = (ui1 - ui2 > 0);printf("%d,%d/n", i1, i2);// 0 1return 0;} 解釋如下:unsigned short 會型別提升為

ACM 進階指南

ACM 進階指南ACM隊不是為了一場比賽而存在的,為的是隊員的整體提高。大學期間,ACM隊隊員必須要學好的課程有:l C/C++兩種語言l 高等數學l 線性代數l 資料結構l 離散數學l 資料庫原理l 作業系統原理l 電腦群組成原理l 人工智慧l 編譯原理l

快速排序思想分析

快速排序是1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱為分治法(Divide-and-Conquer Method)。分治法的基本思想:將原問題分解為若干個規模更小但結構與原問題相似的子問題。遞迴地解這些子問題,然後將這些子問題的解組合為原問題的解。快速排序的基本思想:設當前待排序的無序區為R[low..high],利用分治法可將快速排序的基本思想描述為:(1)

GBK編碼中防止串尾亂碼的問題

2012-07-14 wcdj問題描述:在做字串處理時,若緩衝區的長度固定,在向緩衝區copy字串時會出現被截斷的情況。此處考慮被copy的字串使用GBK編碼並含有漢字,若出現截斷則緩衝區的內容結尾可能會出現亂碼。此問題會引發向DB匯入資料發生異常等其他一些問題。解決方案:首先要瞭解出現這個問題的原因,即字元集編碼的問題。下面是關於GBK和UTF-8的介紹:GBK http://baike.baidu.com/view/25421.htmUTF-8 http://baike.baidu.com/

Programming in Lua (基礎篇)

2012-04-02 wcdj$ lua -vLua 5.2.0 Copyright (C) 1994-2011 Lua.org, PUC-Rio目錄0 什麼是Lua?... 11 Lua簡單介紹... 12 基本文法... 33 函數... 44 實踐代碼... 65 參考:... 14 0 什麼是Lua?Lua本身是以簡單優雅為本,著眼於處理那些C不擅長的任務;Lua本身完全遵循ANSI

連續子串的最大值(經典的DP問題)

【問題描述】在長度為N的整形數組中,求連續子串的和的最大值,要求複雜度為O(N)。例如:1 2 3 -1 -20 100

使用auto_ptr類型的注意事項

2012-03-03 wcdj先看一個例子:#include <iostream>#include <string>#include <memory>// auto_ptr classusing std::cout;using std::endl;using std::string;using std::auto_ptr;void f1(){int *ip = new int(123);// dynamically allocate a new

Things Everyone Should Do: Code Review

2012-02-15 wcdjJul 06 2011 Published by MarkCC under ProgrammingAs I alluded to in my last post (which I will be correcting shortly), I no longer work for Google. I still haven't decided quite where I'm going to wind up - I've got a couple of

關於位元影像的一道典型問題

問題:假設兩個字串中所含有的字元和個數都相同我們就叫這兩個字串匹配,比如:abcda和adabc,由於出現的字元個數都是相同,只是順序不同,所以這兩個字串是匹配的。演算法要求高效,現在需要你來實現下面的函數:bool Is_Match(char *str1,char

Ubuntu設定靜態IP的方法

系統裝好後,源也設定好了(把以前預設的源注釋掉了,改成了幾個教育網的源,北交的源相對比較快),下來的任務就是更新系統和安裝所需的軟體,但是前提是必須可以上網,因為實驗室用的都是固定IP,所以需要將Ubuntu設定為靜態IP。方法如下: (1)修改網路設定檔網路設定資訊儲存在/etc/network/interfaces檔案中sudo vi /etc/network/interfaces 我用vi開啟,我的檔案顯示如下內容:# This file describes the network

Grub erro 17的解決方案

      前些天在Windows下修改了磁碟分割,重啟之後,系統出現故障:grub erro 17...。結果Windows和Linux全都進不去了,最後就在網上g了一下解決辦法。有一種是使用LiveCD修複grub,可是不知道什麼原因,我的光碟機讀取LiveCD速度很慢,進不到光碟片系統中。沒辦法只有用其他方法,還有一種是用dos啟動,然後使用命令fdisk

&類名::成員名的作用

2011-04-01 wcdj 請解釋下面的輸出結果: #include <iostream>using namespace std;class A{public:float a;int i;};int main(int argc,char* argv[]){cout << typeid(&A::a).name() << endl;// float A::*cout << typeid(&A::i).name() <<

模組中存在多重定義的問題

2012-03-15 wcdj當系統模組比較多,不同的開發人員對不同的模組進行開發,其中可能會使用相同定義。當各個模組被打包成靜態庫提供別人使用的時候,隱含的問題來了。如果不同的靜態庫中存在相同的定義,那麼我們編譯連結後使用的是哪一個呢,可能不是我們所希望的。下面通過一個簡單的樣本來說明上述的問題:// 1.c#include<stdio.h> void func(){ printf("1.c\n");}//

SecureCRT 常用技巧 & Bash快速鍵

2012-02-01 wcdj熟悉一些快捷操作,可以提高日常的工作效率。編輯命令Ctrl + a :移到命令列首Ctrl + e :移到命令列尾Ctrl + xx:在命令列首和游標之間移動Ctrl + u :從游標處刪除至命令列首Ctrl + k :從游標處刪除至命令列尾Ctrl + w :從游標處刪除至字首alt + b : 開啟快速啟動欄alt + 1/2/3... : 在多個不同的session標籤之間切換重新執行命令:Ctrl + r:逆向搜尋命令曆史Ctrl +

(UNP點滴記錄) Posix訊息佇列

2012-05-27 wcdj測試代碼/* * 2012-05-27 wcdj * UNP2 P.59 * Posix 訊息佇列*/#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/stat.h>#include <mqueue.h>#include <string.h>#include <errno.h>#include

選取不同隨機數的方法

2011-02-23 wcdj 問題:有1,2,3,......,100個數,要求從中隨機取出10個數,不能重複。思路1:第一次隨機產生0到99之間的下標,第二次隨機產生0到98之間的下標……依次類推,每次產生到哪個下標就把那個位置上的數“扣出去”……“扣”的時候不要移動之後的所有元素,那樣效率低,把最後一個提上來即可。#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){int a[

苛刻的字串逆轉

2011-03-06 wcdj 問題描述:編寫如下形式的字串處理函數,要求將s1指向的字串倒向複製給s2,如s1 = "hello",則使 s2 = "olleh"。且不能使用除s1和s2以外的其餘任何變數。void ReverseStr( const char* s1 ,char* s2);問題來自:討論 總結幾種實現方法如下: 方法一:遞迴#include <cstdio>void ReverseStr( const char *s1 ,char *s2){if

cin.getline對cin.gcount()的影響

2011-05-08 wcdj 問題:測試下面代碼,解釋cin.gcount的輸出為什麼會不同?#include<iostream>using namespace std;int main(){// case 1:char a[10];cin.getline(a,10);// 123456789cout << a << endl;// 123456789cout << cin.gcount();// Note, 10cout <<

總頁數: 61357 1 .... 20127 20128 20129 20130 20131 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.