c++流中有类似 C语言的sprintf函数的函数吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++流中有类似 C语言的sprintf函数的函数吗?相关的知识,希望对你有一定的参考价值。

有,就是istringstream,你可以自己找些这方面的资料,和sprintf很类似的
istringstream用法
istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。

#include<iostream>
#include<sstream>
using namespace std;
int main()

string str, line;
while(getline(cin, line))

istringstream stream(line);
while(stream>>str)
cout<<str.c_str()<<endl;

return 0;

测试:
input:
abc df e efgeg ffg

ouput:
abc
df
e
efgeg
ffg
参考技术A 是不是找 itao ? 头文件为<cstdlib>
整型数转换成字符数组:
例子:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()

int sum = 123456;
char string[25];
itoa(sum, string, 10); //最后一个参数是将数字转换成哪种进制
cout<<"integer = "<<sum<<" string = "<<string<<endl;
return 0;
参考技术B CString::format()追问

这个和流没什么关系吧?虽然我不是很清楚

C语言 sprintf函数,如何生成不规则的随机字符串?

保留字符串前三位不变,后面的随意生成。。。 谁来帮帮我 怎么搞呢

没有明白你的本意是什么,做了一个,你看看吧,不对接着追问
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()

int a;
srand((unsigned)time( NULL ));
a=rand()%1000;
printf("随机数%0d\\n",a);

追问

就是使字符串前三位保持不变,后面的字符随机

参考技术A 直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
1.产生固定长度的随机的字符串
主要就是产生固定个数的随机字符,
那么就简单了,用两组随机数:
一组:随机产生0~25的整数num,然后用'a'+num来赋值小写字母,'A'+num来赋值大写字母
一组:随机产生0,1,产生0,用'a'来和num相加,生成小写字母;产生1,用'A'来和num相加,生成大写字母;

2.产生不固定长度的随机的字符串
就是在上面的产生固定长度的随机的字符串的基础上,在引入一组随机数,来控制字符串长度

代码如下:
1.产生固定长度的随机的字符串
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 10//固定长度为10

void main()

int flag,charLengt;
int i,j,k=0;
char ch[N+1]=NULL;
srand((unsigned)time(NULL));

for(i=0;i<10;i++)//生成10个String吧

for(j=0;j<N;j++)

flag=rand()%2;
if(flag) ch[k++]='A'+rand()%26;
else ch[k++]='a'+rand()%26;

ch[k]='\0';
k=0;
printf("%s\n",ch);


getch();


不定长的自己参照着写吧追问

复制粘贴的不给满意答案

追答

这还不简单唆,用两个字符串相连实现嘛,第一个字符串为固定的那3位,后面的字符串用上面的办法的出,最后调用一个strcat函数不就OK了啊。

以上是关于c++流中有类似 C语言的sprintf函数的函数吗?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的sprintf函数?

c语言中的sprintf函数?

C语言 sprintf()函数--有难度的!!!

C语言 sprintf 函数

R语言sprintf函数按照C语言的方式格式化输出实战

C语言sprintf函数