本文目錄一覽:
- 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語句不可返回指向“棧內存”的指針或者引用,因為該內存在函數體結束時被自動銷毀。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206195.html