当前位置:首页 » 编程语言 » c语言原有字符串
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言原有字符串

发布时间: 2023-08-06 19:38:45

1. c语言里如何把已有的字符串写入文件里

int main()
{
FILE *fp;
fp = fopen("aa.txt", "w");
if(fp ==NULL)
printf("打开文件aa.txt失败\n");
fprintf(fp, "Hello Workd!");

return 0;
}

aa.txt 是在你当前文件夹中的,就是和程序就同一个目录下,你也带路径 c:/my/aa.txt

2. c语言字符串提取与合成问题

按要求,将原字符串拆分成两个字符串分别单独保存。

思路:

一、两个指针分别指向数组第一项和第二项,对应偶数项和奇数项,之后指针同时循环+2取值保存在对应数组。

二、拼接字符串直接使用字符串函数strcat。(不想使用库函数,也可循环赋值)。

#include <stdio.h>

#include <string.h>

#define M 20 //数组最大长度

int splitStr(char str[],char oStr[],char eStr[]);//拆分str到oStr和eStr

int main()

{

char str[M+1],oStr[M+1],eStr[M+1];//str为原字符串,oStr为奇数字符串,eStr为偶数字符串

printf("请输入一个字符串(最大%d个字符):",M);

scanf("%s",str);

splitStr(str,oStr,eStr);

printf("其中奇数项组成的字符串为:%s ",oStr);

printf("其中偶数项组成的字符串为:%s ",eStr);

strcat(eStr,oStr);//将偶数组和奇数组组合后放在偶数组中

printf("将偶数组和奇数组组合后新数组为%s ",eStr);

return 0;

}

int splitStr(char str[],char oStr[],char eStr[])

{

int i=0,j=0;

char *op=str+1,*ep=str;//op指向奇数项,ep指向偶数项,循环+2取值

while(1)

{

if(*ep==0) break;

if(*ep) eStr[i++]=*ep;

if(*ep && *op) oStr[j++]=*op;

if(*op==0) break;

ep+=2,op+=2;

}

eStr[i]=0,oStr[j]=0;

return 1;

}

3. C语言怎么用函数把一个字符串逆序存放,比如说原字符串是abcd,怎么将他改为dcba

我以前写了这个程序。略粗糙

源代码:

#include <stdio.h>
#include <string.h>
#define ARR_SIZE 80 //字符串最大长度
int Inverse(char a[]);
void main(void)
{
char str[ARR_SIZE]={0};
printf("P199 6.12\n"); //题号
printf("---------------------Inversed sequence---------------------\n");
printf("\nPlease enter a charstring:\n\n");
gets(str); //输入一个字符串
Inverse(str); //调用函数逆序存放
}
int Inverse(char a[])
{
char b[ARR_SIZE]={0};
int i;
int maxsize;
maxsize=strlen(a)-1; //得到最后一个字符位置
for (i=0;i<strlen(a);i++) //依次交换存放
{
b[maxsize]=a[i];
maxsize--;
}
printf("\nThe changed result is:\n\n");
puts(b); //输出交换存放结果
printf("\n");
}

4. C语言中有string吗

C语言中没有string类型。

string类型是 C++、java、VB等编程语言中的。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。

而在C语言中,C语言中没有字符串类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符''作为结束标志 。

(4)c语言原有字符串扩展阅读:

C++中string的使用:

其中的string是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦。std::basic_string提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C语言风格字符串双向转换。

字符串在C语言中的使用:

字符串常量初始化数组。如:char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};可写为:char c[ ]={"C program"}; 或去掉{}写为:char c[ ]="C program"。

5. C语言有字符串这种数据类型吗

C语言有字符串这种数据类型。

  1. C/C++语言 用 char 数组 存放 字符串。

    例如:

  2. charstr[]="abcd1234";
    char*ss="1234XYZ";
    printf("%s %s ",str,ss);
  3. C++ 有 string 类 (class) , 术语 “类” 不是 术语“类型”。java 学了 string 类。例如 :

#include<iostream>
#include<string>
usingnamespacestd;
intmain()
{
stringstr1,str2,str3;
str1="Teststring:";//c-string
str2='x';//singlecharacter
str3=str1+str2;//string
cout<<str3<<endl;
return0;
}

C/C++还可以自己定义类型,例如:

#include<stdio.h>
typedefcharJv_str[100];
main(){
Jv_strs;
printf("enterastring ");
gets(s);
printf("thestringis:%s ",s);
}

6. C语言里如何把已有的字符串写入文件里

设要写入的数字是int型,则用控制字符串%d和%s来完成,举例代码行如下:
fprintf(fp,"%d %s ",12345,"abcdefg");
其中:fp是成功写打开文件的指针。此代码行先向文件写入整型数字12345,再加一个空格,接着写入字符串abcdefg,然后写入' '。

#include "stdio.h"
#include "string.h"
void main()
{
char a[6]="china";
char temp[1024];
int n=0;//记录有多少个china
FILE *outFile=fopen("c:.txt","r+");
FILE *inFile=fopen("c:a.txt","r+");
while(fgets(temp,500,inFile)!=NULL)
{
int k=0;
for(int i=0;i<strlen(temp);i++)
{

if(temp[i]==a[k] && k<strlen(a))
{
k++;
}
else
{
if(k==strlen(a))
{
n++;
fprintf(outFile,"%s
",a);
}
k=0;
}
}
}
}
在C盘要有这两个文件。。。
a文件中可能有多个china ,指定加到第几行自己看情况 在设置一个int变量记录就行了