標準のC++での備忘録
u_char 型を使えるようにするには
typedef unsigned char u_char;
VC2005++でfopen を使うと fopen_s を使うよう警告が出されます。
fopen_s の方が安全性の面で優れているとのことです。
トラックバック URL :
コメント (0)u_char 型を使えるようにするには
typedef unsigned char u_char;
VC2005++でfopen を使うと fopen_s を使うよう警告が出されます。
fopen_s の方が安全性の面で優れているとのことです。
トラックバック URL :
コメント (0)今回はUbuntu 8.10でやってみました。 まず下よりXampp本体をダウンロードします。
端末を開き保存しているディレクトリに移動します。
sudo tar xvfz xampp-linux-1.6.4.tar.gz -C /opt のコマンドを使用し解凍&インストールを完了させます。 起動するには sudo /opt/lampp/lampp start と入力します。 反対に停止するには sudo /opt/lampp/lampp stop と入力します。 標準では日本語が文字化けすると思うので、my.cnfを編集します。 sudo gedit /opt/lampp/etc/my.cnf を実行します。 [mysqld]の項目を探して下の部分に default-character-set=sjis skip-character-set-client-handshake の2行を追加して起動させます。 そしてMySQLに接続させるためにユーザアカウントを作成する必要があります。 sudo /opt/lampp/bin/mysql にてログインします。 そして次のコマンドを3行に分けて入力しユーザを追加します。 >GRANT ALL PRIVILEGES ON DB名.* >TO 'ユーザー名' > IDENTIFIED BY 'パスワード'; 最後にセミコロンを忘れないでください。 そして >FLUSH PRIVILEGES; と入力することによってユーザ情報を構築しなおします。 以上で終了です。 参考リンク:
トラックバック URL :
コメント (0)今回はMySQLをインストールするのにXamppを使用しました。以下よりダウンロードしてインストールします。
http://www.apachefriends.org/jp/xampp-windows.html
インストールしたのちインストールフォルダを開いて”my.cnf”を修正します。
[mysql]の部分に以下の2行を加えます。(shift-jisの場合)
default-character-set=sjis
skip-character-set-client-handshake
そしてMySQLを起動します。
http://download.softagency.net/MySQL/downloads/connector/j/3.1.html
ここよりZIPファイルを入手してJARファイルをパスに追加します。
ソースの一部分
import java.sql.*;
// ドライバクラスをロード
Class.forName(”com.mysql.jdbc.Driver”);
// データベースへ接続
conn = DriverManager.getConnection
(”jdbc:mysql://” + m_servername + “/” + m_db_name,m_user,m_pass);
// ステートメントオブジェクトを生成
ps = conn.prepareStatement(Query);
//実行する命令によって分岐
int index = Query.indexOf(” “);
String ExeName = Query.substring(0, index).toLowerCase();
if(ExeName.equals(”select”)){
// クエリーを実行して結果セットを取得
rset = ps.executeQuery();
}
else{
RetCode = ps.executeUpdate();
System.out.print(”RetCode = ” + RetCode);
}
while (rset.next()) {
System.out.println(rset.getString(1));
}
トラックバック URL :
コメント (0)ブラウザやDOCTYPEの設定によってJavaScriptの挙動の違いがあるのでまとめてみたいです。
今のところ 1つだけ
環境: WindowsVISTA InternetExolorer7、FireFox3
検証項目:DOCTYPE HTML 4.01、XHTML 1.0
A: disp.innerHTML = “HTMLの値”;
B: document.getElementById(’disp’).innerHTML = “HTMLの値”;
このうちBはDOCTYPE、ブラウザ関係なく動作しました。
しかしAの場合、FireFox 3 でXHTML の状態では動きませんでした。
よってできるだけB を使うようにした方がいいですね。
prototype.js のように$() で宣言しなおせば文も短くなるのでしょう。
トラックバック URL :
コメント (0)import java.io.*;
public class main01 {
public static void main(String[] args) {
String sCurrentDir = new File(".").getAbsoluteFile().getParent();
System.out.print(sCurrentDir);
}
}
実行結果:
D:\workspace\test01
トラックバック URL :
コメント (0)#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string Str = “<html>”;
if(Str == “<html>”){
cout << “htmlタグです\n”;
}
else if(Str == “<body>”){
cout << “bodyタグです\n”;
}
else{
cout << “未知のタグです\n”;
}
int len = Str.length();
cout << “Strの文字数:” << len << endl;
string SubStr = Str.substr(3 ,3 );
cout << “Strの3文字目から数えて3文字取り出す\n” << SubStr << endl;
int index = Str.find(”>”);
cout << “\”>\”の位置:” << index << “文字目” << endl;
return 0;
}
実行結果:
htmlタグです
Strの文字数:6
Strの3文字目から数えて3文字取り出す
ml>
“>” の位置:5文字目
トラックバック URL :
コメント (0)#include <iostream>
#include <string>
using namespace std;
int main(){
string str = “abcdefg”;
cout << str;
return 0;
}
stringはストリームの演算子を使います。なので iostream をインクルードします。
そしてstring はもともと std::string として定義されているので、
using namespace std
として名前空間を指定します。
それ以外はこのページを参照してみます。
トラックバック URL :
コメント (0)Javaでの日付・時間の取得方法を二つ書きます
その1
import java.text.*;
import java.util.GregorianCalendar;
GregorianCalendar cal = new GregorianCalendar();
SimpleDateFormat format =
new SimpleDateFormat(”zyyyy MM/dd E hh:mm:ss”);
String time = format.format(cal.getTime());
timeの値:
JST2008 10/08 水 12:00:00
その2
import java.util.GregorianCalendar;
Calendar cal1 = Calendar.getInstance();
int year = cal1.get(Calendar.YEAR);
int month = cal1.get(Calendar.MONTH) + 1;
int day = cal1.get(Calendar.DATE);
int hour = cal1.get(Calendar.HOUR_OF_DAY);
int minute = cal1.get(Calendar.MINUTE);
int second = cal1.get(Calendar.SECOND);
Clendarを使う場合に注意しなければいけないのが、cal1.get(Calendar.MONTH) で取得する値は0~11になります。
そのため取得した値に1を加算します
トラックバック URL :
コメント (0)—-[10月8日追記]—
Javaで改行文字を削除するには
String = String.replaceAll(”\n”,”")
でできました。
以下に書いてあることは間違いみたいです・・・
—————–
C#では改行文字を削除するときには
String.Replace(”\n”,”")
で削除できるのだけれど、Javaで
String.replace(’\n’,”)
とやると2番目の引数が不正ですよと怒られます
なので改行文字を削除する方法として
public static void main(String[] args) {
String Str1 = “ab\ncd\nef\ngh” , Str2 = “”;
System.out.println(Str1);
String[] list = Str1.split(”\n”);
for(int i = 0 ; i < list.length ; i++){
Str2 += list[i];
}
System.out.println(Str2);
}
実行結果:
ab
cd
ef
gh
abcdefgh
一度配列にしてそれを連結しなおすことにしました。
本当はReplaceが使えた方がいいのですが・・・
もうちょっと勉強してみます。
トラックバック URL :
コメント (0)public static String myMethod1(String str){
str += “:ok”;
return str;
}
public static StringBuilder myMethod2(StringBuilder Str){
Str.append(”:ok”);
return Str;
}
public static void main(String[] args) {
String str = “String”;
myMethod1(str);
System.out.println(”値: ” + str);
str = myMethod1(str);
System.out.println(”値: ” + str);
StringBuilder Str = new StringBuilder(”StringBuilder”);
myMethod2(Str);
System.out.println(”値: ” + Str);
Str = myMethod2(Str);
System.out.println(”値: ” + Str);
}
実行結果:
値: String
値: String:ok
値: StringBuilder:ok
値: StringBuilder:ok:ok
Stringがたを渡すときには値だけがコピーされるので変化はしないのですが、StringBuilder型だと参照型なのでメソッド内での変更が反映されています。
C#も同様にstring型は値だけがコピーされるようです。
C#でstring型は参照型なのか?より。
トラックバック URL :
コメント (0)ICT-START All rights reserved tak 2008
Powered by WordPress