Category Archives: C/C++

「C#」Base64形式の文字列と画像を相互変換するサンプルコード

サンプルコード
/// <summary>
/// 画像からBase64文字列に変換
/// </summary>
/// <param name=”sender”></param>
/// <param name=”e”></param>
private void ImgToBase64(object sender, EventArgs e)
{
Image img = this.pictureBox.Image;
BinaryFormatter binFormatter = new BinaryFormatter();
MemoryStream memStream = new MemoryStream();
binFormatter.Serialize(memStream, img);
byte[] bytes = memStream.GetBuffer();
string base64 = Convert.ToBase64String(bytes);
this.richTextBox.Text = base64;
}

/// <summary>
/// Base64文字列から画像に変換
/// </summary>
/// <param name=”sender”></param>
/// <param name=”e”></param>
private void Base64ToImage(object sender, EventArgs e)
{
string base64 = this.richTextBox.Text;
byte[] bytes = Convert.FromBase64String(base64);
MemoryStream memStream = new MemoryStream(bytes);
BinaryFormatter binFormatter = new BinaryFormatter();
Image img = (Image)binFormatter.Deserialize(memStream);
this.pictureBox.Image = img;
}

「C#」htmlタグを消去するサンプルコード

サンプルコード
public static string StripHTMLTag(string strHtml)
{
string strOutMd=strHtml;
Regex regex = new Regex(@”<[^>]+>|</[^>]+>”);
strOutMd = regex.Replace(strOutMd,””);
return strOutMd;
}

「C#」正規表現を使ってhtmlタグ(style、script、tab等)を削除するサンプルコード

C#コード
public static string HtmlToTextFunc(string htmlStr)
{
if (String.IsNullOrEmpty(htmlStr))
{
return “”;
}
string regEx_style = “<style[^>]*?>[\\s\\S]*?<\\/style>”; /styleの正規表現
string regEx_script = “<script[^>]*?>[\\s\\S]*?<\\/script>”; //scriptの正規表現
string regEx_html = “<[^>]+>”; //html tagの正規表現
htmlStr = Regex.Replace(htmlStr, regEx_style, “”);//cssを削除
htmlStr = Regex.Replace(htmlStr, regEx_script, “”);//jsを削除
htmlStr = Regex.Replace(htmlStr, regEx_html, “”);//htmlタグを削除
htmlStr = Regex.Replace(htmlStr, “\\s*|\t|\r|\n”, “”);//tab、スペースを削除
htmlStr = htmlStr.Replace(” “, “”);
htmlStr = htmlStr.Replace(“””, “”);
htmlStr = htmlStr.Replace(“””, “”);
return htmlStr.Trim();
}

C++言語入門–階乗を計算するサンプルコード

方法1
#include<iostream>
using namespace std;
int fac(int n)
{
static int f=1;
f=f*n;
return f;
}
int main()
{
int i;
for(i=1;i<=5;i++)
{
cout<<i<<“!=”<<fac(i)<<endl;
}
return 0;
}

方法2
#include<iostream>
using namespace std;
int fac(int n)
{
if(n<0) return 0;
if(n==0||n==1)return 1;
if(n>1)
{
return n*fac(n-1);
}
}
int main()
{
int i;
for(i=1;i<=5;i++)
{
cout<<i<<“!=”<<fac(i)<<endl;
}
return 0;
}

「C++」100以内の素数を求めるサンプルコード

サンプルコード
#include <iostream>
#include <cmath>
#define MAX 100
using namespace std;

int main()
{
int prime[MAX+1];
for(int i=1;i<=MAX;i++)
{
if(i%2==0)
{
prime[i]=0;
}
else prime[i]=1;
}

for(int i=3;i<=sqrt(MAX);i++)
{
if(prime[i]==1)
{
for(int j=i+i;j<=MAX;j=j+i)
{
prime[j]=0;
}
}
}
cout<<“2″<<” “;
for(int i=3;i<=MAX;i++)
{
if(prime[i]==1)
cout<<i<<” “;
}
return 0;
}

「C言語開発」シェルスクリプト(losetup -f)を実行するサンプ

サンプルコード
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

char* cmd_system(const char* command);
int main()
{
//char str[20]={“0”};
char* result = cmd_system(“losetup -f”);
//char*からchar配列へ変換
//strcpy(str,result);
printf(“The result:%s\n”,result);
return 0;
}

char* cmd_system(const char* command)
{
char* result = “”;
FILE *fpRead;
fpRead = popen(command, “r”);
char buf[1024];
memset(buf,’\0′,sizeof(buf));
while(fgets(buf,1024-1,fpRead)!=NULL)
{
result = buf;
}
if(fpRead!=NULL)
pclose(fpRead);
return result;
}

C言語入門 -自然数の階乗を計算するサンプルコード

サンプルコード

#include <iostream>
using namespace std;

const int N = 40000;

void FactCal(int n)
{
int result[N];
int height;

result[0] = 1;
height = 1;
//計算
for(int i=1;i<=n;i++)
{
int res = 0;
for(int j=0;j<height;j++)
{
int buf = result[j]*i + res;
result[j] = buf%10;
res = buf/10;
}
while(res)
{
result[height++] = res%10;
res /= 10;
}
}
//出力
for(int i=height-1;i>=0;i–)
cout<<result[i];
cout<<endl<<” 長さ:”<<height<<endl;
}

int main()
{
int n;
cout<<“Input a number:”;
cin>>n;
if(n>10000 || n<0)
cout<<“自然数を入力してください”;
else
FactCal(n);
return 0;
}

C#入門–配列Arrayの使い方

C#コード
using System;namespace ArrayApplication{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[10];
int i,j;

for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100;
}

for (j = 0; j < 10; j++ )
{
Console.WriteLine(“Element[{0}] = {1}”, j, n[j]);
}
Console.ReadKey();
}
}}
実行結果
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

c#入門でforeachを利用して配列の要素を操作する

参考コード
using System;
public class startnews24demo {
public static void Main() {
int sum = 0;
int[] nums = new int[10];

for(int i = 0; i < 10; i++)
nums[i] = i;

//foreach操作
foreach(int x in nums) {
Console.WriteLine(“Value is: ” + x);
sum += x;
}
Console.WriteLine(“Summation: ” + sum);
}

C言語でk^n=pを計算するサンプルコード

参考コード:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double n,p,k;
while(scanf(“%lf%lf”,&n,&p)!=EOF)
//cout<<pow(p,1/n)<<endl;
printf(“%.lf\n”,pow(p,1.0/n));
}

1 / 3123