以下のようなプログラムで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を知らなかったため、とても参考になりました
これでやりたかったことの大半が出来るようになりそうです
本当にありがとうございました