[CPP/template] chuyển đổi từ số sang ký tự

Nếu là trong python, mọi việc rất dễ dàng cho bạn chuyển đổi từ kiểu số ( int/uint/ float/ double …) chẳng hạn như sau:


a= 34
b=str(a)
b

khi chạy những dòng trên bạn sẽ nhận được kết quả là :
’34’

Vậy trong C++ thì sao?

mọi chuyện không đơn giản như Python nhưng cũng không phức tạp như C

ta sẽ tạo một template cho tất cả các kiểu số khác nhau để khỏi phải viết mỗi hàm cho một loại

chương trình mẫu như sau:

#include <sstream> // cái này là cần thiết để dùng kiểu stringstream
#include <cstring>
using namespace std;
template <typename T>
string NumtoString(T Number)
{
	stringstream convert;
	convert << Number; 
	return convert.str(); 
}

int main()
{
	int a=10;
	string Result ;
	Result= NumtoString(a); // Result='10'
	Result=Result+"beautiful girls"; 
	cout<< Result<<endl;
}

ta sẽ được kết quả là :

"10 beautiful girls"

Nói thêm về kiểu string của C++: string là kiểu cải tiến của chả, rất tiện lợi cho xử lý ký tự.

Nhiều khi chúng ta muốn ghi ra file  với tên của file tùy thuộc vào các bước của chương trình, chẳng hạn như ở bước 1 các bạn muốn ghi ra là ‘file1.log’, bước 2 là ‘file2.log’ như vậy rất tiện khi các bạn dùng kiểu string, các bạn có thể sử dụng kiểu fstream để ghi file hoặc nếu quen dùng fopen của C thì cũng tốt, nhưng fopen không cho đối số vào là string nên các bạn phải chuyển đổi sang kiểu char.

các bạn chỉ cần làm như sau:

fopen(Result.c_str(), "w");
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

Up ↑

mlcvGru

Random thoughts on Machine Learning, Deep Learning and (sometimes) Computer Vision

LazyT

Góc nhỏ của Quyền

phanlan

we get what we give, sống là cho đi

Codeaholicguy

software engineer, team lead at #kobiton, blogger at @codeaholicguy

Maths 4 Physics & more...

Blog Toán Cao Cấp (M4Ps)

Vatlyvietnam's Blog

Thế Giới Song Song

Darren Wilkinson's research blog

Statistics, computing, data science, Bayes, stochastic modelling, systems biology and bioinformatics

Ông Xuân Hồng

Chia sẻ kiến thức và thông tin về Machine learning

Từ coder đến developer - Tôi đi code dạo

Lập trình viên giỏi không phải chỉ biết code

Computational Biology and Molecular Modelling

An interface between biology, chemistry and computer science

Moriator - I can do it!

Linux dễ dàng hơn bạn nghĩ!

VinaCode

Lập trình & Cuộc sống

Blog của Chiến

Học. Thực hành. Sáng tạo

Bespoke Blog

Science! Culture! Computational Engines!

Vuhavan's Blog

Just another WordPress.com weblog

%d bloggers like this: