C语言 输出中文字符串的第一个字

以下是一段代码
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
struct Card
{
string subject; //课程名称
string nature; //课程性质
double credit; //学分
int point; //绩点
int score ;//成绩
int fuxiu;//辅修标记
int bukao;//补考成绩
int bukaochengji;//卷面补考成绩
int chongxiu;//重修成绩
int college;//开课学院
};
char *str1 = "信息技术导论</td><td>学科基础课";
char *str2 = "信息技术导论";
char *p;
p = strstr(str1, str2);
if (p != NULL)
{
printf("%s\n",p); // 若str1指向的字符串中有str2指向的字符串,则将p所指的字符串输出
}
else{
printf("Not Found!\n"); // 若没找到,返回信息"Not Found!"
}
return 0;
}

这里输出的结果是"信息技术导论</td><td>学科基础课",如果我想一个一个字的输出,比如"信","息",要怎么改代码?有没有什么高级点的输出控制函数?
解决的话一定追加分数,麻烦各位了!

程序这么修改就可以一个一个字的输出,system("pause");的注释取消掉,就是按一下输出一个字符了。有问题hi我啊~
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char *str1 = "信息技术导论</td><td>学科基础课";
char *str2 = "信息技术导论";
char *p;
p = strstr(str1, str2);
if (p != NULL) // 若str1指向的字符串中有str2指向的字符串,则将p所指的字符串输出
{
for(int i=0;p[i];)
{
if(p[i] < 0)//汉字是两个字符组成,每个字符都小于0
{
printf("%c%c",p[i],p[i+1]);
i+=2;
// system("pause");
}
else
{
printf("%c",p[i]);
i+=1;
// system("pause");
}
}
}
else
{
printf("Not Found!\n"); // 若没找到,返回信息"Not Found!"
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-13
按照字符串由长到短输出,这个不叫随即,而是简单的排序。
char* strList[1000]; //用来存储这些字符串
首先要把文件里的字符解析成单词放到strList里,一般是以空格作为分隔符。然后按照字符串的长度进行排序就可以了。最后怎么显示就看你需要了。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网