您的位置:

处理空格c语言,c语言程序空格

本文目录一览:

C语言输入带空格的字符串的处理

用 scanf("%s",array); 的话遇到空格就停止接收后面的字符了

以下是处理这种情况的一些方法(记录下来以免以后遇到相似的问题):

注 : %[abc] 表示字符组合包括 a、b和c ,如果遇到这三个字符之外的字符,则停止接收。 %[^abc] 代表字符组合为 abc 以外的所有字符,至于横杠是否用于指定某个范围的字符 %[a-z] ,则因编译器而异。

c语言麻烦帮忙解决空格问题!谢谢大神们

#include stdio.h

#includestdlib.h

#include string.h

struct student

{

int number;

char name[20];

char sex;

double brith;

}stu[2];

int main()

{

int i;

printf("Input student information:\n");

for(i=0;i2;i++)

{

scanf("%d %s %c %lf",stu[i].number,stu[i].name,stu[i].sex,stu[i].brith);

}

if(stu[0].brithstu[1].brith)

printf("number:%d\nname:%s\nsex:%c\nbrith:%.4f\n",stu[0].number,stu[0].name,stu[0].sex,stu[0].brith);

else

printf("number:%d\nname:%s\nsex:%c\nbrith:%.4f\n",stu[1].number,stu[1].name,stu[1].sex,stu[1].brith);

system("PAUSE");

return EXIT_SUCCESS;

}

C语言中去掉空格问题

/*去除字符串右边空格*/

void

vs_strrtrim(char

*pstr)

{

char

*ptmp

=

pstr+strlen(pstr)-1;

while

(*ptmp

==

'

')

{

*ptmp

=

'\0';

ptmp--;

}

}

/*去除字符串左边空格*/

void

vs_strltrim(char

*pstr)

{

char

*ptmp

=

pstr;

while

(*ptmp

==

'

')

{

ptmp++;

}

while(*ptmp

!=

'\0')

{

*pstr

=

*ptmp;

pstr++;

ptmp++;

}

*pstr

=

'\0';

}

c语言中把文件中的空格去除

第一种:使用位域限制读取的长度;

第二种:可以直接按照结构体来读写;

实例代码如下:

#include "stdafx.h"

#include cstdio

#include cstdlib

#include cstring

 

struct Roommate{

char name[6];

char NO[8];

char addr[10];

};

 

 

int _tmain(int argc, _TCHAR* argv[])

{

    struct Roommate Rom[2] = {0};

    FILE *file = NULL;

    if(!(file = fopen("a.txt", "w"))) {

        printf("Create File failed!\n");

        exit(-1);

    }

 

    printf("Please input four times Roommate data: Name NO Addr\n");

    for(int i=0; i2; ++i) {

        scanf("%s%s%s", Rom[0].name, Rom[0].NO, Rom[0].addr);

        fwrite((const void *)Rom[0], sizeof(struct Roommate), 1, file);

    }

    fclose(file);

    /* Read  from file*/

    file = NULL;

    if(!(file = fopen("a.txt", "r"))) {

        printf("Create File failed!\n");

        exit(-1);

    }

    printf("Read from the file: Name NO Addr\n");

    fread((void *)Rom, sizeof(struct Roommate), 2, file);

    for(int i=0; i2; ++i) {

        printf("i=%d   Name:%s\tNO:%s\tAddr:%s\n", i, Rom[i].name, Rom[i].NO, Rom[i].addr);

    }

    fclose(file);

 

    while(getchar()) ;

    return 0;

}