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

c语言读取字符串为as

发布时间: 2022-05-26 10:48:45

㈠ C语言程序从文件中读取字符串

学了结构体了没?
学过结构体就用以下方法读写文件

/* 写文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 用户信息结构体
struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};

int main(){
FILE *fp = fopen("user_info.txt","w+b"); // 创建一个文件
if(fp == NULL){ // 如果创建文件失败
perror("fopen()");
return -1;
}

struct user_info u;
strcpy(u.name, "xiaoming");
strcpy(u.sex, "boy");
u.id = 12345678;

fwrite(&u, sizeof(u), 1, fp); // 把信息写入到文件中

close(fp);
return 0;
}

/* 读文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};
int main(){
FILE *fp = fopen("user_info.txt","r+b"); // 打开一个文件
if(fp == NULL){ // 如果打开文件失败
perror("fopen()");
return -1;
}

struct user_info u;
fread(&u, sizeof(u), 1, fp); // 把读取文件
// 打印读取的信息
printf("name:%s sex:%s id:%d\n", u.name, u.sex, u.id);

close(fp);
return 0;
}

㈡ C语言中 先从键盘上获取一串字符串 再将字符串内的每个字符都转换为ASCII码格式

这个问题很简单 就当你输入的字符串 小于一百来说
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
void main()
{ char a[100];int n,i;
gets(a);
puts(a);
n=strlen(a);
for(i=0;i<n;i++)
printf("%4d",a[i]);

}
要注意的就是字符和整型是相通的 呵呵
如果你觉得不知道要输入多长的串
那这样应该可以
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
void main()
{ int n,i;char a,*p=&a;
gets(p);

n=strlen(p);
for(i=0;i<n;i++)
printf("%4d",*p+i);

}

㈢ C语言,读取字符或字符串的问题

字符一个个读有很多种方法判断
如使用一个输入时不会用到的字符,“#”或是'\n'还有就是输入使用EOF
这些都根据你之前设定的条件决定
你可以看看C PRIMER PLUS
其中有一章专门介绍字符串的输入和输出

㈣ C语言如何取一串字符串中的某个字符

C中的字符串就是一个字符数组。
如:
char s[10]="wo shi SB";
char c;
取最左边的字符,就是c=s[0];

㈤ C语言问题从文件中读取字符串

str = strtok("hehe##234##ssd##56","##");
//str = "hehe" 指针里的字符串
str = strtok(NULL,"##");
//str = "234"
str = strtok(NULL,"##");
//str = "ssd"
str = strtok(NULL,"##");
//str = "56"

㈥ C语言取出字符串中的字母

#include <stdio.h>
int main() {
char s[100];
int i;
scanf("%s",s);
for(i = 0;s[i];i++) {
if(a[i] >= 'a' && a[i] <= 'z') s[i] -= 'a' - 'A';
else if(a[i] >= 'A' && a[i] <= 'Z') a[i] -= 'A' - 'a';
}
printf("%s\n",s);
return 0;
}

㈦ 怎么用C语言读取有字符串做索引的ASCII

用数组不行,因为数组在编译时就要确定长度。
用动态内存分配。
1. datamap = (char*)malloc(file size) 作一维数组的.

2. 动态分配二维数组,可以先分配 100 个
如 ptoken = (char**)malloc(100*sizeof(char*))
memset(ptoken,0,100*sizeof(char*));
ptoken[0] = strtok(datamap,分隔符集合字串)
while(1)
{
palloctime=0;
for(i=1;i<100;i++)
{
ptoken[i+palloctime*100] = strtok(NULL,分隔符集合字串);
if(ptoken[i+palloctime*100]==NULL)
break;
}
if(i!=100)
break;// exit while loop
palloctime++;
ptoken = (char**)realloc(100*(palloctime+1)*sizeof(char*))// 重新分配
//并保留以前的数据
memset(ptoken+(100*palloctime*sizeof(char*)),0,100*sizeof(char*));
}

3. 就可以用 ptoken[i][j]来访问了。

㈧ C语言中 怎么把一个字符串变化为ASCII

思路:因为在 C 语言中,字符型数据在计算机内存中,是以字符的ASCII码形式存储

所以字符和其对应的ASCII码是等价的,比如'A'这个字符和单字节整数65是等价的。即字符的整数形式就是其ASCII码。

故:定义一个整形变量并赋个字符,得到的整数就是该字符的ASCII码。字符串变化为ASCII,只需for循环遍历依次输出每个字符的ASCII码即可。

参考代码:

#include<stdio.h>
intmain()
{
chara[20]="ABDRTSSW";
intn,i;
for(i=0;a[i]='';i++){
n=a[i];
printf("%d",n);//遍历输出字符串中各字符的ASCII码
}
return0;
}

㈨ C语言读取字符串的问题

一个一个字符读,读到 空格 或 换行结束:
#include <stdio.h>
main(){
int i;
char str[80];
i=0;
while(1){
str[i] = getchar();
if (str[i]==' ' || str[i]=='\n') break; // 读到 空格 或 换行结束
i++;
}
str[i]='\0'; // 加字符串结束符
printf("%s",str);
return 0;
}

㈩ 问一道C语言的题: 下面三个均是非法常量: 'as' -0ffff '\0xa' 为什么分别错哪儿了

'as' 是 ''表示一个字符,不能放2个字符进去, "as"表示字符串

-0ffff 这个什么都不是 0xffff是16进制数 -0xffff是错误的,16进制数没有正负之分

'\0xa' 这个 '\0a' 表示 'a'字符, '\0x'表示'x'字符 , '\0xa'不知道什么意思了。