使用memcpy连接两个字符串(Concatenate two strings using memcpy)
我试图创建一个连接两个字符串而不使用C中的
strncat
/strcat
。我有这个,但它给出了段错误。 我究竟做错了什么?char *concat(char *str1, char *str2) { memcpy(str1 + strlen(str1) - 1, str2, strlen(str2) + 1); return str1; }
这不是功课。 它适用于TI-84 Plus CE的C工具链,而
strncat
在此功能中对我不起作用。str1
将是一个字符串文字。str2
将是可变的。I am trying to make a function that concatenates two strings without using
strncat
/strcat
in C. I have this, but it gives a segfault error. What am I doing wrong?char *concat(char *str1, char *str2) { memcpy(str1 + strlen(str1) - 1, str2, strlen(str2) + 1); return str1; }
This is not homework. It's for the C toolchain for TI-84 Plus CE and
strncat
doesn't work for me in this function.str1
will be a string literal.str2
will be variable.
原文:https://stackoverflow.com/questions/50543073
最满意答案
所以你要做的是避免渲染任何东西,直到你的ajax请求返回你的结果。
如果状态是您想要的状态,您可以检查渲染方法。 如果不是,则返回null,或者加载器或其他标记。 当componentDidMount然后设置状态时,它将触发重新渲染,因为然后设置了userID,它将返回userShow组件
例:
render(){ if(this.state.userID === null){ return null; //Or some other replacement component or markup } return ( <div> <UserShow params={{id: userID}} /> </div> ); }
获取userShow组件中的数据可以这样完成:
componentWillReceiveProps(nextProps){ //fetch data her, you'll find your prop params in nextProps.params }
你也可以通过在render-method中踢数据获取来避免这样做。
So what you want to do is to avoid rendering anything until your ajax-request returns your result.
You can do a check in the render method if the state is how you want it. If it's not, then return null, or a loader or some other markup. When the componentDidMount then sets the state, it will trigger a re-render, since the userID then is set, it will return the userShow component
Example:
render(){ if(this.state.userID === null){ return null; //Or some other replacement component or markup } return ( <div> <UserShow params={{id: userID}} /> </div> ); }
Fetching the data in the userShow component could be done like this:
componentWillReceiveProps(nextProps){ //fetch data her, you'll find your prop params in nextProps.params }
You can also avoid doing this here, by kicking the data-fetch in the render-method.
相关问答
更多-
通过本地客户端程序获取服务器mysql数据库信息[2023-04-27]
ajax -
getInitialState在第一个渲染时使用它是正常的,它在你的ajax调用之前完成,因为ajax调用是在ComponentDidMount中执行的,它是在第一次渲染之后触发的。 在ajax调用为空之前,state.user将为空,然后在收到数据时,它应使用新数据更新您的视图。 在我看来,你没有做错什么取决于你想做什么。 例如,您可以在getinitialstate中添加一条消息,例如mgs:“请等待数据获取”并在数据到达时删除此消息。 否则,如果在渲染组件之前绝对需要准备好数据,可以使用: https ...
-
您可能需要async.js或promises来帮助管理多个异步操作。 Async与jQuery集成得更好,所以我会用它来展示它。 componentDidMount: function(){ async.map(this.props.comments.slice(0, 5), function(comment, cb){ var postUrl = window.Development.API_URL + 'posts/' + comment.post_id; $.get(postUrl ...
-
您必须从getUserData函数返回promise并使用.then()访问它。 function getUserData() { return new Promise((resolve, reject) => { if (Auth.loggedIn()) { axios.get('/route') .then(res => resolve(res.data)) .catch(err => reject(err)); } else ...
-
var UserGist = React.createClass({ getInitialState: function() { return { gists: [] }; }, componentDidMount: function() { this.serverRequest = $.get(this.props.source, function (result) { this.se ...
-
所以你要做的是避免渲染任何东西,直到你的ajax请求返回你的结果。 如果状态是您想要的状态,您可以检查渲染方法。 如果不是,则返回null,或者加载器或其他标记。 当componentDidMount然后设置状态时,它将触发重新渲染,因为然后设置了userID,它将返回userShow组件 例: render(){ if(this.state.userID === null){ return null; //Or some other replacement component or mark ...
-
此代码存在许多问题: getInitialState: function() { $.getJSON('/sample').done(function(result){ this.list = result; }); return this.list; } 首先,在Ajax请求返回之前返回this.list返回数据。 这实际上意味着您从该函数返回undefined 。 第二个问题是你在Ajax回调中使用this ,它不会指向Reflux存储。 您需要使用箭头功能和ES6转换器。 但是你 ...
-
何时设置React状态?(Notifying when React state is set?)[2020-12-08]
你试过这个吗? this.setState({ state : newState }, () => { // Call some method when state changes were done. }); 你也应该使用e.preventDefault(); 因为您没有将for提交给任何服务器。 handleClick(e) { e.preventDefault(); const xhttp = new XMLHttpReq ... -
错字的一部分(如Phi Nguyen所说),还有一些其他问题需要解决: 1)Axios使用响应对象解析promise。 因此,要获得您需要做的结果: axios.get('https://jsonplaceholder.typicode.com/users') .then( res => { const users = res.data; // Assuming the response body contains the array this.setState({ ...
-
import React, { Component } from 'react'; export default class App extends Component { constructor(props) { super(props); this.state = { text: 'Hello World' }; } render() { return (...
相关文章
更多- 两个字符串如何模糊比较?
- 遍历字符串每个字符,Stringreader是不是要比string.toCharArray来的快?
- 按位数截取字符串,组成一个字符串数组的问题
- java字符串内容的修改?
- 题集
- 字符串应用之字符串编码转换
- Python 字符串操作
- shell脚本的字符串截取
- [google面试CTCI] 1-5.替换字符串中特定字符
- java字符串解析
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。