C语言字符串 按行读取
发布时间:2025-05-13 00:02:37 发布人:远客网络
一、C语言字符串 按行读取
1、写了个代码,希望采纳,等分哦。这个代码还有问题,比如比较字符串后面还有多个6,比如一行数据多余1024,这些需要你自己动手实现。
2、记住把文件的绝对路径改成你自己的,我是在linux下写的。
3、#include<stdio.h>#include<string.h>#define bool int#define false 0#define true 1#define MAX_NUM 1025int main(int argc,char**argv){/*fileSrc是查找文件的绝对路径*/ const char*fileSrc="/home/xxx/workspace/c/xxx.text";/*fileSave是找到合适字符串后保存文件的绝对路径*/ const char*fileSave="/home/xxx/workspace/c/aaa.text"; const char*flagString="66666"; FILE*fp_src= NULL,*fp_save; char buf[MAX_NUM]={0}; bool flag= false; fp_src= fopen(fileSrc,"r"); if(fp_src== NULL) return-1; while(fgets(buf,sizeof(buf),fp_src)!= NULL){ printf("buf=%s",buf); if(flag== true){ fp_save= fopen(fileSave,"w+"); if(fp_save== NULL){ return-1;} fwrite(buf,1,sizeof(buf)-1,fp_save); fclose(fp_save); break;} if(0== memcmp(buf,flagString,strlen(flagString))){ flag= true;} memset(buf,0,sizeof(buf));} fclose(fp_src); return 0;}
二、c语言不换行连续读取数据
1、在C语言中,如果你想连续读取多个数据而不换行,可以使用标准库函数“scanf”。
2、例如,如果你想读取三个整数,可以使用如下代码:
3、 printf("a=%d, b=%d, c=%d\n", a, b, c);
4、在这个程序中,“scanf”函数会读取三个整数,并将它们分别赋值给变量“a”、“b”和“c”。
5、注意,“scanf”函数的格式字符串“%d%d%d”中的“%d”表示读取一个整数,因此“scanf”函数会读取三个整数。
6、如果你想读取不同类型的数据,可以使用相应的格式字符串。例如,如果你想读取一个整数和一个浮点数,可以使用“%d%f”作为格式字符串。
三、C语言中一个语句太长用什么换行
1、区分不同情况,有多种方式可以采用。不管是哪种情况,都可以用\结尾作为换行标记,在编译时,\后面的换行符将被忽略,当做一行处理。比如宏定义时使用#define my_puts(x) printf("%s", \
x);和写作#define my_puts(x) printf("%s",x);是没区别的。这里的\必须存在,不能省略。
2、不过有些情况下可以采用更简单的形式。在字符串中换行。当字符串过长,写在一行中阅读不便时,可以采用一种特殊的换行方式。C语言规定,连续的用""引起的字符串常量,会默认合并为一个常量字符串。
1、换行符(line break),是一种计算机语言表达方式,它的作用是跳到下一个新行。在不同的语言中,代码也有所不同。例如:<br>、"\n"、"endl"等。
2、回车(\r)本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return;。
3、换行(\n)本义是光标往下一行(不一定到下一行行首)、n的英文newline,控制字符可以写成LF,即Line Feed。在不同的操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行\n就表现为光标下一行并回到行首,在MAC上,\r就表现为回到本行开头并往下一行,至于ENTER键的定义是与操作系统有关的。
4、C语言中的换行符是"\n",就是输入完一行内容后,光标转到下一行的起始位置。
5、HTML语言的换行符:<br>
<br>可插入一个简单的换行符,<br>标签是空标签(意味着它没有结束标签,因此这是错误的:<br></br>)。在[1]
XHTML中,把结束标签放在开始标签中,也就是<br/>。<br>标签只是简单地开始新的一行,而当浏览器遇到<p>标签时,通常会在相邻的段落之间插入一些垂直的间距。
6:C++语言的换行符:C++语言中的换行符是endl。
cout<<"这是换"<<endl<<"行符";
word换行符是一种换行符号,它的作用是换行显示,但是它不是真正的段落标记,它的换行不是真正意义上的重起一段,因此被换行符分割的文字其实仍然还是一个段落中的,word中基于段落的所有操作都是不会识别换行符为段落结尾的。
8、在VB中,若命令太长,在一行输入不方便,可以在代码后输入空格和下划线再换行。
Private Declare Function mciSendString Lib winmm. _
dll Alias mciSendStringA(ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uReturnLength _
As Long, ByVal hwndCallback As Long) As Long。