本文目录一览:
- 1、用C语言在同一个字符串中删除空格
- 2、C语言提问:怎么删除文件里的空格和回车
- 3、C语言怎样删除字符串中的空白字符
- 4、c语言删去字符串中所有空格
- 5、C语言-删除字符串空格
- 6、c语言 输入一个字符串,删除该字符串中的所有空格并输出处理后的字符串
用C语言在同一个字符串中删除空格
删除一个字符和删除一个空格一样,只是判断不同罢了。至于判断了是空格之后,只需要将字符串空格下个字符移到空格的位置,后面的字符同时前移一位,以此类推就可以了。
int
i;
int
d=0;
while(a[d]!='/0')
{
if(a[d]=='
')
{
for(i=d;a[i]!='/0';i++)
a[i]=a[i+1];
}
d++;
}
}
提个大致思路而已
C语言提问:怎么删除文件里的空格和回车
#includestdio.h
#includestdlib.h
#includestring.h
#define maxn 1000010
char s[maxn];
int main(){
FILE *p;
p=fopen("in.txt","r");//in.txt是待处理文件名,包含后缀
fscanf(p,"%[^#]",s);//#代表待处理文件中不存的字符
fclose(p);
int j=0;
for(int i=0;istrlen(s);i++){
if(s[i]==' ' || s[i]=='\n') continue;//删除空格和回车
s[j++]=s[i];
}
s[j]=0;//0即 NULL
p=fopen("in2.txt","w");//新建一个in2.txt文件
fprintf(p,"%s",s);//处理后的文件放在in2.txt中
fclose(p);
//printf("%s\n",s);
}
C语言怎样删除字符串中的空白字符
#include stdio.h
int main()
{
char *p="I am Chinese";
char c;
int i = 0;
while((c = p[i++])!='\0'){
if(c!=' ')
putchar(c);
}
}
扩展资料:
字符串的函数应用
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat('11','aa')='11aa';
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag',2,3)='bda'
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:='abcde';delete(s,2,3);结果s:='ae'
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置。
例:s:=abc;insert('12',s,2);结果s:='a12bc'
5. 求字符串长度 length(s) 例:length('12abc')=5。
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0。
例:pos(‘ab','12abcd')=3
参考资料:
百度百科-字符串
c语言删去字符串中所有空格
#include stdio.h
#include string.h
#include stdlib.h
int main() {
char str[1024] = {0};
memset(str,'\0',1024);
fgets(str,1024,stdin);
int len = strlen(str);
char* arr = (char*)malloc(sizeof(char) * (len + 1));
int arr_index = 0;
if (arr != NULL) {
for (int i = 0; i len; i++) {
if (str[i] == ' ') {
continue;
}
else {
arr[arr_index++] = str[i];
}
}
arr[arr_index] = '\0';
printf("%s\n",arr);
free(arr);
arr = NULL;
}
return 0;
}
C语言-删除字符串空格
①目标
要删除字符串中的所有空格,
就要筛选出空格字符。
要筛选,就要对首字符做标记。
要所有空格,就要遍历。
~
②命令行
#include stdio.h
#include stdlib.h
#include ctype.h
~
③定义函数
void fun(char *str)
{int i=0;
char *p;
/*标记:p=str表示指针指向字符串首地址做标记*/
for(p=str;*p!='\0';p++)
/*遍历:不等于'\0'表示只要字符串不结束,就一直p++。*/
if(*p!=' ')str[i++]=*p;
/*删除:如果字符串不等于空格,即有内容就存入字符串。等于空格就不储存,但是指针还是p++继续后移,跳过储存空格相当于删除。*/
}
void fun(char *str)
{int i=0;
char *p=str;
while(*p)
{if(*p!=' ')str[i++]=*p;
p++;}
/*除了for循环遍历,也可while循环遍历。注意 p++在if语句后,不然会漏掉第一个字符。*/
str[i]='\0';
/*循环完毕要主动添加'\0'结束字符串。*/
~
④主函数
viod main()
{char str[100];
int n;
printf("input a string:");
get(str);
puts(str);
/*输入输出原字符串*/
fun(str);
/*利用fun函数删除空格*/
printf("str:%s\n",str);
c语言 输入一个字符串,删除该字符串中的所有空格并输出处理后的字符串
int main()
{
char s[1024],c[1024];
int len,n=0,i;
char p,q;
p=s;q=c;
printf(“请输入字符串的长度:”);
scanf("%d",len);
printf(“请输入一串字符串:”);
for(i=0;ilen+1;i++)
{
scanf("%c",p+i);
}
for(i=0;ilen+1;i++)
{
if((p+i)=48(p+i)=57||(p+i)=97(p+i)=122)
{
(q+n)=(p+i);
n++;
}
}
for(i=0;in+1;i++)
{
printf("%c",*(q+i));
}
}
c语言编程技巧
1、函数参数
在设计函数时,通常将目的参数放在前面,源参数放在后面。若可能,通过IN、OUT这样的宏定义来标注参数输入输出。
如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。
2、函数中内存处理
(1)在函数中分配的内存,在函数退出之前要释放
(2)return语句不可返回指向“栈内存”的指针或者引用,因为该内存在函数体结束时被自动销毁。