-
前導空格
鎖定
- 中文名
- 前導空格
- 類 別
- 編程語言中的一個概念
- 本 質
- 變量有效內容前面的空格
- 目 的
- 知道如何刪除這些空格
前導空格作用
查找“前導空格”的最主要目的就是為了知道如何刪除這些空格。
日常工作中,由於使用軟件不同,產生的數據文件也不盡相同,有許多軟件生產的數據文件採用固定格式,往往造成有效數據前填補空格,這些空格對其他軟件的應用造成障礙,必須刪除這些空格才可使用。查找“前導空格”的最主要目的就是為了知道如何刪除這些空格。
前導空格計算機語言
VFP中消除前導空格函數(ltrim())
語法:
返回值的類型:
字符型
參數:
字符表達式:指定的字符表達式,該函數將刪除其後續空格。
舉例:
在講str()函數時我們舉過一個例,即把一個字符與一個數值相加時,應採用如下形式:
? '季度'+str(1,1)
但是當我們沒有辦法確定這個數值的位數時,這個辦法就行不通了,您不可能規定它的長度只能是1或2等等。那麼怎麼辦呢,採用ltrim()函數可以解決了:
? '項目'+ltrim(str(sz))
這裏假設事先已有一個數值存入了sz變量,但不知道這個數值是幾,也就更不知道有幾位數,那麼在隱含狀態下,str()函數將把sz轉換為長度為10的字符,其前面可能有若干空格,通過ltrim()函數的處理,不論前面有多少空格,都可以得到如下結果(假設數值是15):
項目15
刪除前導空格和後繼空格的C語言函數
#include<stdio.h>
/*刪除前導空格的函數*/
void headspace(char* s)
{
int i,j;
for(i=0;s[i]==32;i++); /*循環結束後的i值為前導空格的個數*/
if(i==0) return;
for(j=i;s[j]!='\0';j++) s[j-i]=s[j];
s[j-i]='\0';
}
/*刪除後繼空格的函數*/
void tailspace(char* s)
{
int i=0,k;
while(s[i]!='\0')i++;
for(k=i-1;s[k]==32;k--);
s[k+1]='\0';
}
main()
{
char s[20];
printf("\n");
gets(s); /*輸入一個字符串*/
puts(s); /*輸出字符串*/
printf("\n");
printf("%d\n",strlen(s)); /*輸出原字符串的長度(不包含結束標誌)*/
headspace(s);
puts(s);
printf("\n");
printf("%d\n",strlen(s)); /*輸出刪除前導空格後的字符串的長度*/
tailspace(s);
puts(s);
printf("\n");
printf("%d\n",strlen(s)); /*輸出刪除後繼空格後的字符串的長度*/
}