以下のようなプログラムでfopenのstraに"text_data100.txt"と入れたいのですが、numberを数字(100)から文字列("100")に変更する方法を教えていただけないでしょうか?
numberを文字列に変更することが出来たら、文字列同士の結合はstrcat(a,b)でする予定です
C言語はまだ素人ですが過去にRubyを勉強したことがあり、その時はnumber.to_sという処理で同等のことをしていました
int main(void)
{
FILE *fo;
char stra[50]="text_data";
int number=100;
char strc[5]=".txt"
//ここの間の処理
fo=fopen(stra,"rb");
}
今から出かけるので返信が遅くなってしまうかもしれません
よろしくお願いします
数列→文字列の処理
Re:数列→文字列の処理
サンプルです。
sprintf関数を使った方が文字列の連結は簡単に出来ると思います。
sprintf関数を使った方が文字列の連結は簡単に出来ると思います。
#include <stdio.h> #include <string.h> int main(void) { FILE *fo; char *stra = "text_data"; char *strb =".txt"; char strc[50]; int number = 100; sprintf(strc, "%s%d%s", stra, number, strb); printf("%s\n", strc); return 0; }
Re:数列→文字列の処理
STLを使ってみては?
#include <stdio.h> #include <string> #include <sstream> int main( void ) { FILE *fo; char *stra = "text_data"; int number = 100; char *strc = ".txt"; std::ostringstream cOSStream; cOSStream << stra << number << strc; fo = fopen( cOSStream.str().c_str(), "rb" ); if( fo == NULL ) return -1; // 何らかの処理 fclose( fo ); return 0; }
Re:数列→文字列の処理
遅くなりました
sprintfを知らなかったため、とても参考になりました
これでやりたかったことの大半が出来るようになりそうです
本当にありがとうございました
sprintfを知らなかったため、とても参考になりました
これでやりたかったことの大半が出来るようになりそうです
本当にありがとうございました